From 5de6465bea15f138c2025ee565f8f6dc2be63aa3 Mon Sep 17 00:00:00 2001 From: Dilmer Valecillos Date: Wed, 24 Nov 2021 15:48:34 -0700 Subject: [PATCH 01/14] Cleaning things up a bit to make sure both UNET and Relay scene work correctly --- Assets/Scenes/BasicMultiplayerWithRelay.unity | 3 +-- Assets/Scripts/RelayManager.cs | 26 +++++++----------- Assets/Scripts/UIManager.cs | 27 ++++++++++++------- ProjectSettings/EditorBuildSettings.asset | 4 +-- ProjectSettings/ProjectSettings.asset | 1 + 5 files changed, 32 insertions(+), 29 deletions(-) diff --git a/Assets/Scenes/BasicMultiplayerWithRelay.unity b/Assets/Scenes/BasicMultiplayerWithRelay.unity index 9036397..9d9cbac 100644 --- a/Assets/Scenes/BasicMultiplayerWithRelay.unity +++ b/Assets/Scenes/BasicMultiplayerWithRelay.unity @@ -1409,7 +1409,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 6960e84d07fb87f47956e7a81d71c4e6, type: 3} m_Name: m_EditorClassIdentifier: - m_ProtocolType: 0 + m_ProtocolType: 1 m_MaximumPacketSize: 1400 m_MaxPacketQueueSize: 128 m_SendQueueBatchSize: 6144 @@ -1472,7 +1472,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 499135c78ad359c4ca3c3c6e966d6057, type: 3} m_Name: m_EditorClassIdentifier: - relayType: 0 maxNumberOfConnections: 10 --- !u!1 &642461289 GameObject: diff --git a/Assets/Scripts/RelayManager.cs b/Assets/Scripts/RelayManager.cs index e758eec..53ec240 100644 --- a/Assets/Scripts/RelayManager.cs +++ b/Assets/Scripts/RelayManager.cs @@ -9,30 +9,24 @@ using Unity.Services.Relay.Models; using UnityEngine; -public class RelayManager : NetworkSingleton +public class RelayManager : Singleton { - public enum RelayType - { - Server, - Client - } - - [SerializeField] - private RelayType relayType = RelayType.Client; - private const string ENVIRONMENT = "production"; [SerializeField] private int maxNumberOfConnections = 10; + public bool IsRelayEnabled => Transport != null && Transport.Protocol == UnityTransport.ProtocolType.RelayUnityTransport; + + public UnityTransport Transport => NetworkManager.Singleton.gameObject.GetComponent(); + public async Task JoinGame(string joinCode) { try { - var relayJoinData = await JoinRelayServer(joinCode); + RelayJoinData relayJoinData = await JoinRelayServer(joinCode); - UnityTransport transport = NetworkManager.Singleton.gameObject.GetComponent(); - transport.SetRelayServerData(relayJoinData.IPv4Address, relayJoinData.Port, relayJoinData.AllocationIDBytes, + Transport.SetRelayServerData(relayJoinData.IPv4Address, relayJoinData.Port, relayJoinData.AllocationIDBytes, relayJoinData.Key, relayJoinData.ConnectionData, relayJoinData.HostConnectionData); Logger.Instance.LogInfo($"Joined Game With Join Code: {joinCode}"); @@ -43,7 +37,7 @@ public async Task JoinGame(string joinCode) } } - public static async Task SetupRelayServer(int maxConnections = 2) + public async Task SetupRelayServer(int maxConnections = 2) { InitializationOptions options = new InitializationOptions() .SetEnvironmentName(ENVIRONMENT); @@ -71,12 +65,12 @@ public static async Task SetupRelayServer(int maxConnections = 2) return relayHostData; } - public static async Task JoinRelayServer(string joinCode) + public async Task JoinRelayServer(string joinCode) { InitializationOptions options = new InitializationOptions() .SetEnvironmentName(ENVIRONMENT); - await UnityServices.InitializeAsync(); + await UnityServices.InitializeAsync(options); if (!AuthenticationService.Instance.IsSignedIn) { diff --git a/Assets/Scripts/UIManager.cs b/Assets/Scripts/UIManager.cs index 573a9bd..1730c91 100644 --- a/Assets/Scripts/UIManager.cs +++ b/Assets/Scripts/UIManager.cs @@ -51,13 +51,19 @@ void Start() startHostButton?.onClick.AddListener(async () => { - var relayHostData = await RelayManager.SetupRelayServer(10); - Logger.Instance.LogInfo($"Generated Join Code: {relayHostData.JoinCode}"); + // this allows the UnityMultiplayer and UnityMultiplayerRelay scene to work with and without + // relay features - if the Unity transport is found and is relay protocol then we redirect all the + // traffic through the relay, else it just uses a LAN type (UNET) communication. + if (RelayManager.Instance.IsRelayEnabled) + { + var relayHostData = await RelayManager.Instance.SetupRelayServer(10); + Logger.Instance.LogInfo($"Generated Join Code: {relayHostData.JoinCode}"); + + RelayManager.Instance.Transport + .SetRelayServerData(relayHostData.IPv4Address, relayHostData.Port, relayHostData.AllocationIDBytes, + relayHostData.Key, relayHostData.ConnectionData); + } - UnityTransport transport = NetworkManager.Singleton.gameObject.GetComponent(); - transport.SetRelayServerData(relayHostData.IPv4Address, relayHostData.Port, relayHostData.AllocationIDBytes, - relayHostData.Key, relayHostData.ConnectionData); - if(NetworkManager.Singleton.StartHost()) Logger.Instance.LogInfo("Host started..."); else @@ -66,19 +72,22 @@ void Start() startClientButton?.onClick.AddListener(async () => { - await RelayManager.Instance.JoinGame(joinCodeInput.text); + if (RelayManager.Instance.IsRelayEnabled) + await RelayManager.Instance.JoinGame(joinCodeInput.text); + if(NetworkManager.Singleton.StartClient()) Logger.Instance.LogInfo("Client started..."); else Logger.Instance.LogInfo("Unable to start client..."); }); - joinGameButton?.onClick.AddListener(() => + // only available if relay scene is loaded + joinGameButton?.onClick.AddListener(async () => { if (joinCodeInput != null && !string.IsNullOrEmpty(joinCodeInput.text)) { Logger.Instance.LogInfo("Joining game with join code: " + joinCodeInput.text); - RelayManager.Instance.JoinGame(joinCodeInput.text); + await RelayManager.Instance.JoinGame(joinCodeInput.text); } }); diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset index 32165e1..b578d30 100644 --- a/ProjectSettings/EditorBuildSettings.asset +++ b/ProjectSettings/EditorBuildSettings.asset @@ -5,10 +5,10 @@ EditorBuildSettings: m_ObjectHideFlags: 0 serializedVersion: 2 m_Scenes: - - enabled: 0 + - enabled: 1 path: Assets/Scenes/BasicMultiplayer.unity guid: 9fc0d4010bbf28b4594072e72b8655ab - - enabled: 1 + - enabled: 0 path: Assets/Scenes/BasicMultiplayerWithRelay.unity guid: dd16c880a7f752347ba6d6f1c0e7a79e m_configObjects: {} diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index 5273bb6..4c51eda 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -138,6 +138,7 @@ PlayerSettings: - {fileID: 0} - {fileID: 0} - {fileID: 0} + - {fileID: 0} metroInputSource: 0 wsaTransparentSwapchain: 0 m_HolographicPauseOnTrackingLoss: 1 From c1b42b8f47b62e48a8636865ad8fa472ecb58b32 Mon Sep 17 00:00:00 2001 From: Dilmer Valecillos Date: Wed, 24 Nov 2021 22:23:07 -0700 Subject: [PATCH 02/14] Getting code ready before video 5 --- Assets/Scenes/BasicMultiplayerWithRelay.unity | 291 +----------------- Assets/Scripts/RelayManager.cs | 39 ++- Assets/Scripts/UIManager.cs | 35 +-- ProjectSettings/EditorBuildSettings.asset | 4 +- ProjectSettings/ProjectSettings.asset | 1 - 5 files changed, 46 insertions(+), 324 deletions(-) diff --git a/Assets/Scenes/BasicMultiplayerWithRelay.unity b/Assets/Scenes/BasicMultiplayerWithRelay.unity index 9d9cbac..e686888 100644 --- a/Assets/Scenes/BasicMultiplayerWithRelay.unity +++ b/Assets/Scenes/BasicMultiplayerWithRelay.unity @@ -425,8 +425,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -525, y: -205.15} - m_SizeDelta: {x: 792.738, y: 53.75} + m_AnchoredPosition: {x: -859.6677, y: -242} + m_SizeDelta: {x: 730.0734, y: 53.75} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &189727566 MonoBehaviour: @@ -561,7 +561,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -678.66675, y: -124.90637} + m_AnchoredPosition: {x: -676, y: -124.90637} m_SizeDelta: {x: 261.7666, y: 59.3558} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &209909301 @@ -646,140 +646,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 209909299} m_CullTransparentMesh: 1 ---- !u!1 &217862422 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 217862423} - - component: {fileID: 217862425} - - component: {fileID: 217862424} - m_Layer: 5 - m_Name: Text (TMP) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &217862423 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 217862422} - 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_Children: [] - m_Father: {fileID: 2132640214} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &217862424 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 217862422} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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 Game - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4281479730 - m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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: 24 - m_fontSizeBase: 24 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 0 - m_fontSizeMax: 0 - m_fontStyle: 16 - 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: 0 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 0 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!222 &217862425 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 217862422} - m_CullTransparentMesh: 1 --- !u!1 &334368951 GameObject: m_ObjectHideFlags: 0 @@ -816,8 +682,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -678.73315, y: -283.58105} - m_SizeDelta: {x: 174.933, y: 37.317} + m_AnchoredPosition: {x: -305, y: -125} + m_SizeDelta: {x: 174.933, y: 41.0034} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &334368953 MonoBehaviour: @@ -1267,15 +1133,15 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 14 - m_fontSizeBase: 14 + m_fontSize: 16 + m_fontSizeBase: 16 m_fontWeight: 400 m_enableAutoSizing: 0 m_fontSizeMin: 18 m_fontSizeMax: 72 m_fontStyle: 2 m_HorizontalAlignment: 1 - m_VerticalAlignment: 256 + m_VerticalAlignment: 512 m_textAlignment: 65535 m_characterSpacing: 0 m_wordSpacing: 0 @@ -1523,7 +1389,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_UiScaleMode: 0 m_ReferencePixelsPerUnit: 100 - m_ScaleFactor: 0.45 + m_ScaleFactor: 0.65 m_ReferenceResolution: {x: 800, y: 600} m_ScreenMatchMode: 2 m_MatchWidthOrHeight: 0.71 @@ -1571,7 +1437,6 @@ RectTransform: - {fileID: 838573565} - {fileID: 951523240} - {fileID: 334368952} - - {fileID: 2132640214} m_Father: {fileID: 0} m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -1900,7 +1765,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -1053.3334, y: -124.90637} + m_AnchoredPosition: {x: -1053, y: -124.90637} m_SizeDelta: {x: 261.7666, y: 59.3558} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &807034475 @@ -2021,7 +1886,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -302.51056, y: -124.90637} + m_AnchoredPosition: {x: -302.51056, y: -238} m_SizeDelta: {x: 261.7666, y: 59.3558} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &838573566 @@ -2142,7 +2007,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -303.9, y: -431} + m_AnchoredPosition: {x: -303.9, y: -350} m_SizeDelta: {x: 261.7666, y: 59.355713} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &951523241 @@ -2357,7 +2222,6 @@ MonoBehaviour: startHostButton: {fileID: 807034475} startClientButton: {fileID: 838573566} playersInGameText: {fileID: 189727566} - joinGameButton: {fileID: 2132640215} joinCodeInput: {fileID: 334368953} executePhysicsButton: {fileID: 951523241} --- !u!1 &1442138340 @@ -2654,15 +2518,15 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 14 - m_fontSizeBase: 14 + m_fontSize: 16 + m_fontSizeBase: 16 m_fontWeight: 400 m_enableAutoSizing: 0 m_fontSizeMin: 18 m_fontSizeMax: 72 m_fontStyle: 0 m_HorizontalAlignment: 1 - m_VerticalAlignment: 256 + m_VerticalAlignment: 512 m_textAlignment: 65535 m_characterSpacing: 0 m_wordSpacing: 0 @@ -2805,8 +2669,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: -0.5} - m_SizeDelta: {x: -20, y: -13} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -14, y: -4} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1996252197 MonoBehaviour: @@ -2884,124 +2748,3 @@ MonoBehaviour: AlwaysReplicateAsRoot: 0 DontDestroyWithOwner: 0 AutoObjectParentSync: 1 ---- !u!1 &2132640213 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2132640214} - - component: {fileID: 2132640217} - - component: {fileID: 2132640216} - - component: {fileID: 2132640215} - m_Layer: 5 - m_Name: JoinGameButton - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &2132640214 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2132640213} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1.3333334, y: 1.3333334, z: 1.3333334} - m_Children: - - {fileID: 217862423} - m_Father: {fileID: 642461293} - m_RootOrder: 7 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 1, y: 1} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -302.51056, y: -284} - m_SizeDelta: {x: 261.7666, y: 59.3558} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &2132640215 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2132640213} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_WrapAround: 0 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_SelectedTrigger: Selected - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 2132640216} - m_OnClick: - m_PersistentCalls: - m_Calls: [] ---- !u!114 &2132640216 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2132640213} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, 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_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!222 &2132640217 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2132640213} - m_CullTransparentMesh: 1 diff --git a/Assets/Scripts/RelayManager.cs b/Assets/Scripts/RelayManager.cs index 53ec240..1ede49b 100644 --- a/Assets/Scripts/RelayManager.cs +++ b/Assets/Scripts/RelayManager.cs @@ -1,5 +1,4 @@ using DilmerGames.Core.Singletons; -using System; using System.Threading.Tasks; using Unity.Netcode; using Unity.Services.Authentication; @@ -20,25 +19,10 @@ public class RelayManager : Singleton public UnityTransport Transport => NetworkManager.Singleton.gameObject.GetComponent(); - public async Task JoinGame(string joinCode) + public async Task SetupRelay() { - try - { - RelayJoinData relayJoinData = await JoinRelayServer(joinCode); - - Transport.SetRelayServerData(relayJoinData.IPv4Address, relayJoinData.Port, relayJoinData.AllocationIDBytes, - relayJoinData.Key, relayJoinData.ConnectionData, relayJoinData.HostConnectionData); - - Logger.Instance.LogInfo($"Joined Game With Join Code: {joinCode}"); - } - catch (Exception e) - { - Logger.Instance.LogError(e.Message); - } - } + Logger.Instance.LogInfo($"Relay Server Starting With Max Connections: {maxNumberOfConnections}"); - public async Task SetupRelayServer(int maxConnections = 2) - { InitializationOptions options = new InitializationOptions() .SetEnvironmentName(ENVIRONMENT); @@ -49,7 +33,7 @@ public async Task SetupRelayServer(int maxConnections = 2) await AuthenticationService.Instance.SignInAnonymouslyAsync(); } - Allocation allocation = await Relay.Instance.CreateAllocationAsync(maxConnections); + Allocation allocation = await Relay.Instance.CreateAllocationAsync(maxNumberOfConnections); RelayHostData relayHostData = new RelayHostData { @@ -62,11 +46,19 @@ public async Task SetupRelayServer(int maxConnections = 2) }; relayHostData.JoinCode = await Relay.Instance.GetJoinCodeAsync(relayHostData.AllocationID); + + Transport.SetRelayServerData(relayHostData.IPv4Address, relayHostData.Port, relayHostData.AllocationIDBytes, + relayHostData.Key, relayHostData.ConnectionData); + + Logger.Instance.LogInfo($"Relay Server Generated Join Code: {relayHostData.JoinCode}"); + return relayHostData; } - public async Task JoinRelayServer(string joinCode) + public async Task JoinRelay(string joinCode) { + Logger.Instance.LogInfo($"Client Joining Game With Join Code: {joinCode}"); + InitializationOptions options = new InitializationOptions() .SetEnvironmentName(ENVIRONMENT); @@ -90,7 +82,12 @@ public async Task JoinRelayServer(string joinCode) IPv4Address = allocation.RelayServer.IpV4, JoinCode = joinCode }; - + + Transport.SetRelayServerData(relayJoinData.IPv4Address, relayJoinData.Port, relayJoinData.AllocationIDBytes, + relayJoinData.Key, relayJoinData.ConnectionData, relayJoinData.HostConnectionData); + + Logger.Instance.LogInfo($"Client Joined Game With Join Code: {joinCode}"); + return relayJoinData; } } diff --git a/Assets/Scripts/UIManager.cs b/Assets/Scripts/UIManager.cs index 1730c91..a4374df 100644 --- a/Assets/Scripts/UIManager.cs +++ b/Assets/Scripts/UIManager.cs @@ -18,9 +18,6 @@ public class UIManager : Singleton [SerializeField] private TextMeshProUGUI playersInGameText; - [SerializeField] - private Button joinGameButton; - [SerializeField] private TMP_InputField joinCodeInput; @@ -41,6 +38,7 @@ void Update() void Start() { + // START SERVER startServerButton?.onClick.AddListener(() => { if (NetworkManager.Singleton.StartServer()) @@ -49,31 +47,26 @@ void Start() Logger.Instance.LogInfo("Unable to start server..."); }); + // START HOST startHostButton?.onClick.AddListener(async () => { // this allows the UnityMultiplayer and UnityMultiplayerRelay scene to work with and without // relay features - if the Unity transport is found and is relay protocol then we redirect all the // traffic through the relay, else it just uses a LAN type (UNET) communication. - if (RelayManager.Instance.IsRelayEnabled) - { - var relayHostData = await RelayManager.Instance.SetupRelayServer(10); - Logger.Instance.LogInfo($"Generated Join Code: {relayHostData.JoinCode}"); + if (RelayManager.Instance.IsRelayEnabled) + await RelayManager.Instance.SetupRelay(); - RelayManager.Instance.Transport - .SetRelayServerData(relayHostData.IPv4Address, relayHostData.Port, relayHostData.AllocationIDBytes, - relayHostData.Key, relayHostData.ConnectionData); - } - - if(NetworkManager.Singleton.StartHost()) + if (NetworkManager.Singleton.StartHost()) Logger.Instance.LogInfo("Host started..."); else Logger.Instance.LogInfo("Unable to start host..."); }); + // START CLIENT startClientButton?.onClick.AddListener(async () => { - if (RelayManager.Instance.IsRelayEnabled) - await RelayManager.Instance.JoinGame(joinCodeInput.text); + if (RelayManager.Instance.IsRelayEnabled && !string.IsNullOrEmpty(joinCodeInput.text)) + await RelayManager.Instance.JoinRelay(joinCodeInput.text); if(NetworkManager.Singleton.StartClient()) Logger.Instance.LogInfo("Client started..."); @@ -81,16 +74,7 @@ void Start() Logger.Instance.LogInfo("Unable to start client..."); }); - // only available if relay scene is loaded - joinGameButton?.onClick.AddListener(async () => - { - if (joinCodeInput != null && !string.IsNullOrEmpty(joinCodeInput.text)) - { - Logger.Instance.LogInfo("Joining game with join code: " + joinCodeInput.text); - await RelayManager.Instance.JoinGame(joinCodeInput.text); - } - }); - + // STATUS TYPE CALLBACKS NetworkManager.Singleton.OnClientConnectedCallback += (id) => { Logger.Instance.LogInfo($"{id} just connected..."); @@ -108,7 +92,6 @@ void Start() Logger.Instance.LogWarning("Server has not started..."); return; } - SpawnerControl.Instance.SpawnObjects(); }); } diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset index b578d30..32165e1 100644 --- a/ProjectSettings/EditorBuildSettings.asset +++ b/ProjectSettings/EditorBuildSettings.asset @@ -5,10 +5,10 @@ EditorBuildSettings: m_ObjectHideFlags: 0 serializedVersion: 2 m_Scenes: - - enabled: 1 + - enabled: 0 path: Assets/Scenes/BasicMultiplayer.unity guid: 9fc0d4010bbf28b4594072e72b8655ab - - enabled: 0 + - enabled: 1 path: Assets/Scenes/BasicMultiplayerWithRelay.unity guid: dd16c880a7f752347ba6d6f1c0e7a79e m_configObjects: {} diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index 4c51eda..5273bb6 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -138,7 +138,6 @@ PlayerSettings: - {fileID: 0} - {fileID: 0} - {fileID: 0} - - {fileID: 0} metroInputSource: 0 wsaTransparentSwapchain: 0 m_HolographicPauseOnTrackingLoss: 1 From 71c488bbdc886f09771461789dc9ca7db0493419 Mon Sep 17 00:00:00 2001 From: Dilmer Valecillos Date: Wed, 24 Nov 2021 22:28:49 -0700 Subject: [PATCH 03/14] Max connections can now be changed in the inspector --- Assets/Scripts/RelayManager.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Assets/Scripts/RelayManager.cs b/Assets/Scripts/RelayManager.cs index 1ede49b..7f97ddf 100644 --- a/Assets/Scripts/RelayManager.cs +++ b/Assets/Scripts/RelayManager.cs @@ -10,7 +10,8 @@ public class RelayManager : Singleton { - private const string ENVIRONMENT = "production"; + [SerializeField] + private string environment = "production"; [SerializeField] private int maxNumberOfConnections = 10; @@ -24,7 +25,7 @@ public async Task SetupRelay() Logger.Instance.LogInfo($"Relay Server Starting With Max Connections: {maxNumberOfConnections}"); InitializationOptions options = new InitializationOptions() - .SetEnvironmentName(ENVIRONMENT); + .SetEnvironmentName(environment); await UnityServices.InitializeAsync(options); @@ -60,7 +61,7 @@ public async Task JoinRelay(string joinCode) Logger.Instance.LogInfo($"Client Joining Game With Join Code: {joinCode}"); InitializationOptions options = new InitializationOptions() - .SetEnvironmentName(ENVIRONMENT); + .SetEnvironmentName(environment); await UnityServices.InitializeAsync(options); From 31c0b88961fec53987df992a8427fc0d1701c7b7 Mon Sep 17 00:00:00 2001 From: Dilmer Valecillos Date: Thu, 25 Nov 2021 01:44:45 -0700 Subject: [PATCH 04/14] Added video 5 link --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e22eec6..3d6dc27 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,7 @@ YouTube tutorials in Chronogical order / features: * [How To Make A Game With Unity Multiplayer Netcode | Player Controller](https://www.youtube.com/watch?v=rFCFMkzFaog) * [How To Make A Game With Unity Multiplayer Netcode | Player Controller Part 2 And Network Animations](https://youtu.be/GOtE96OKyVA) * [How To Make A Game With Unity Multiplayer Netcode | Network Physics And Network Object Pooling](https://youtu.be/DfUUyEWUhwQ) +* [How To Make A Game With Unity Multiplayer Netcode | Relay Service Setup](https://youtu.be/82Lbho7S0OA) * How To Make A Game With Unity Multiplayer Netcode | ClientRpc And ServerRpc Take a look at [Unity official docs](https://docs-multiplayer.unity3d.com/docs/learn/dilmer/dilmer-video) as well with the videos above also included. From cbf557d16a518573b6a4d2a1c772d1873d8d4569 Mon Sep 17 00:00:00 2001 From: Dilmer Valecillos Date: Sat, 27 Nov 2021 10:42:35 -0700 Subject: [PATCH 05/14] Added run animation to player --- Assets/Animations/SimpleAnimator.controller | 201 +++++++++++++++++++- Assets/Scripts/PlayerControl.cs | 20 +- 2 files changed, 212 insertions(+), 9 deletions(-) diff --git a/Assets/Animations/SimpleAnimator.controller b/Assets/Animations/SimpleAnimator.controller index 5adb254..6ecc0d4 100644 --- a/Assets/Animations/SimpleAnimator.controller +++ b/Assets/Animations/SimpleAnimator.controller @@ -25,6 +25,31 @@ AnimatorStateTransition: m_InterruptionSource: 0 m_OrderedInterruption: 1 m_CanTransitionToSelf: 1 +--- !u!1101 &-6772914335347649258 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 3 + m_ConditionEvent: Walk + m_EventTreshold: 1 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -1315417293333573470} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.9493243 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1107 &-6758177711055489493 AnimatorStateMachine: serializedVersion: 6 @@ -36,20 +61,23 @@ AnimatorStateMachine: m_ChildStates: - serializedVersion: 1 m_State: {fileID: -5047679035389811114} - m_Position: {x: 330, y: 290, z: 0} + m_Position: {x: 240, y: 300, z: 0} - serializedVersion: 1 m_State: {fileID: 5243091673169977452} - m_Position: {x: 330, y: 100, z: 0} + m_Position: {x: 240, y: 60, z: 0} - serializedVersion: 1 m_State: {fileID: 7887362688843137504} - m_Position: {x: 500, y: 190, z: 0} + m_Position: {x: 590, y: 300, z: 0} + - serializedVersion: 1 + m_State: {fileID: -1315417293333573470} + m_Position: {x: 590, y: 50, z: 0} m_ChildStateMachines: [] m_AnyStateTransitions: [] m_EntryTransitions: [] m_StateMachineTransitions: {} m_StateMachineBehaviours: [] - m_AnyStatePosition: {x: 350, y: 30, z: 0} - m_EntryPosition: {x: 220, y: 200, z: 0} + m_AnyStatePosition: {x: 430, y: -10, z: 0} + m_EntryPosition: {x: 150, y: 210, z: 0} m_ExitPosition: {x: 900, y: 90, z: 0} m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} m_DefaultState: {fileID: 5243091673169977452} @@ -116,6 +144,7 @@ AnimatorState: m_Transitions: - {fileID: 3836013805048083207} - {fileID: -4112483242292903203} + - {fileID: 639190802134924759} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -181,6 +210,91 @@ AnimatorStateTransition: m_InterruptionSource: 0 m_OrderedInterruption: 1 m_CanTransitionToSelf: 1 +--- !u!1101 &-3851567709598973210 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 4 + m_ConditionEvent: Walk + m_EventTreshold: 1 + - m_ConditionMode: 3 + m_ConditionEvent: Walk + m_EventTreshold: -1 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 5243091673169977452} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.625 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &-1433669293438928299 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 4 + m_ConditionEvent: Walk + m_EventTreshold: 2 + - m_ConditionMode: 3 + m_ConditionEvent: Walk + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -5047679035389811114} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.625 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1102 &-1315417293333573470 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Run + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: -3851567709598973210} + - {fileID: 8558339508629336434} + - {fileID: -1433669293438928299} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 6564411413370888346, guid: 16114d403eabb53438de032c6f0d1deb, type: 3} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: --- !u!91 &9100000 AnimatorController: m_ObjectHideFlags: 0 @@ -234,6 +348,31 @@ AnimatorStateTransition: m_InterruptionSource: 0 m_OrderedInterruption: 1 m_CanTransitionToSelf: 1 +--- !u!1101 &639190802134924759 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 3 + m_ConditionEvent: Walk + m_EventTreshold: 1 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -1315417293333573470} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.7413793 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1101 &3836013805048083207 AnimatorStateTransition: m_ObjectHideFlags: 1 @@ -259,6 +398,31 @@ AnimatorStateTransition: m_InterruptionSource: 0 m_OrderedInterruption: 1 m_CanTransitionToSelf: 1 +--- !u!1101 &4912053408022281260 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 3 + m_ConditionEvent: Walk + m_EventTreshold: 1 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -1315417293333573470} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.7413793 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1102 &5243091673169977452 AnimatorState: serializedVersion: 6 @@ -272,6 +436,7 @@ AnimatorState: m_Transitions: - {fileID: -9193731925513506007} - {fileID: -6603963720022557072} + - {fileID: -6772914335347649258} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -300,6 +465,7 @@ AnimatorState: m_Transitions: - {fileID: 390200670428832540} - {fileID: -4023601931672184507} + - {fileID: 4912053408022281260} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -315,3 +481,28 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1101 &8558339508629336434 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 4 + m_ConditionEvent: Walk + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 7887362688843137504} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.625 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 diff --git a/Assets/Scripts/PlayerControl.cs b/Assets/Scripts/PlayerControl.cs index db711d5..32b6163 100644 --- a/Assets/Scripts/PlayerControl.cs +++ b/Assets/Scripts/PlayerControl.cs @@ -8,6 +8,7 @@ public enum PlayerState { Idle, Walk, + Run, ReverseWalk, } @@ -48,7 +49,7 @@ void Start() if (IsClient && IsOwner) { transform.position = new Vector3(Random.Range(defaultInitialPositionOnPlane.x, defaultInitialPositionOnPlane.y), 0, - Random.Range(defaultInitialPositionOnPlane.x, defaultInitialPositionOnPlane.y)); + Random.Range(defaultInitialPositionOnPlane.x, defaultInitialPositionOnPlane.y)); } } @@ -69,7 +70,7 @@ private void ClientMoveAndRotate() { characterController.SimpleMove(networkPositionDirection.Value); } - if(networkRotationDirection.Value != Vector3.zero) + if (networkRotationDirection.Value != Vector3.zero) { transform.Rotate(networkRotationDirection.Value, Space.World); } @@ -81,6 +82,10 @@ private void ClientVisuals() { animator.SetFloat("Walk", 1); } + else if (networkPlayerState.Value == PlayerState.Run) + { + animator.SetFloat("Walk", 2); + } else if (networkPlayerState.Value == PlayerState.ReverseWalk) { animator.SetFloat("Walk", -1); @@ -99,19 +104,26 @@ private void ClientInput() // forward & backward direction Vector3 direction = transform.TransformDirection(Vector3.forward); float forwardInput = Input.GetAxis("Vertical"); + if (Input.GetKey(KeyCode.LeftShift) && forwardInput > 0) forwardInput = 2; + Vector3 inputPosition = direction * forwardInput; - if(oldInputPosition != inputPosition || + + if (oldInputPosition != inputPosition || oldInputRotation != inputRotation) { oldInputPosition = inputPosition; UpdateClientPositionAndRotationServerRpc(inputPosition * speed, inputRotation * rotationSpeed); } - if (forwardInput > 0) + if (forwardInput > 0 && forwardInput <= 1) { UpdatePlayerStateServerRpc(PlayerState.Walk); } + else if (forwardInput > 1) + { + UpdatePlayerStateServerRpc(PlayerState.Run); + } else if (forwardInput < 0) { UpdatePlayerStateServerRpc(PlayerState.ReverseWalk); From aeb8deef1a184638281a3287effbf8e010d147d5 Mon Sep 17 00:00:00 2001 From: Dilmer Valecillos Date: Sat, 27 Nov 2021 11:49:52 -0700 Subject: [PATCH 06/14] Added client network transform, new scenes for video 6, and player camera follow with cinemachine --- .../PlayerArmatureNetworkAuthorative.prefab | 2827 ++++++++++++++++ ...ayerArmatureNetworkAuthorative.prefab.meta | 7 + Assets/Prefabs/PlayerBall.prefab | 177 + Assets/Prefabs/PlayerBall.prefab.meta | 7 + Assets/Samples.meta | 8 + Assets/Samples/Netcode for GameObjects.meta | 8 + .../Netcode for GameObjects/1.0.0-pre.3.meta | 8 + .../1.0.0-pre.3/ClientNetworkTransform.meta | 8 + .../ClientNetworkTransform/.sample.json | 4 + .../ClientNetworkTransform/Prefabs.meta | 8 + .../ClientNetworkTransform/Prefabs/.gitkeep | 0 .../ClientNetworkTransform/Scenes.meta | 8 + .../ClientNetworkTransform/Scenes/.gitkeep | 0 .../ClientNetworkTransform/Scripts.meta | 8 + .../Scripts/ClientNetworkTransform.asmdef | 8 + .../ClientNetworkTransform.asmdef.meta | 7 + .../Scripts/ClientNetworkTransform.cs | 39 + .../Scripts/ClientNetworkTransform.cs.meta | 11 + .../BasicMultiplayerWithRelayClientBall.unity | 2751 ++++++++++++++++ ...cMultiplayerWithRelayClientBall.unity.meta | 7 + ...cMultiplayerWithRelayClientTransform.unity | 2751 ++++++++++++++++ ...iplayerWithRelayClientTransform.unity.meta | 7 + ...MultiplayerWithRelayWithFollowCamera.unity | 2925 +++++++++++++++++ ...playerWithRelayWithFollowCamera.unity.meta | 7 + Assets/Scripts/PlayerBallControl.cs | 57 + Assets/Scripts/PlayerBallControl.cs.meta | 11 + Assets/Scripts/PlayerCameraFollow.cs | 28 + Assets/Scripts/PlayerCameraFollow.cs.meta | 11 + Assets/Scripts/PlayerControlAuthorative.cs | 119 + .../Scripts/PlayerControlAuthorative.cs.meta | 11 + ProjectSettings/EditorBuildSettings.asset | 11 +- UserSettings/EditorUserSettings.asset | 9 + 32 files changed, 11847 insertions(+), 1 deletion(-) create mode 100644 Assets/Prefabs/PlayerArmatureNetworkAuthorative.prefab create mode 100644 Assets/Prefabs/PlayerArmatureNetworkAuthorative.prefab.meta create mode 100644 Assets/Prefabs/PlayerBall.prefab create mode 100644 Assets/Prefabs/PlayerBall.prefab.meta create mode 100644 Assets/Samples.meta create mode 100644 Assets/Samples/Netcode for GameObjects.meta create mode 100644 Assets/Samples/Netcode for GameObjects/1.0.0-pre.3.meta create mode 100644 Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform.meta create mode 100644 Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/.sample.json create mode 100644 Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/Prefabs.meta create mode 100644 Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/Prefabs/.gitkeep create mode 100644 Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/Scenes.meta create mode 100644 Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/Scenes/.gitkeep create mode 100644 Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/Scripts.meta create mode 100644 Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/Scripts/ClientNetworkTransform.asmdef create mode 100644 Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/Scripts/ClientNetworkTransform.asmdef.meta create mode 100644 Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/Scripts/ClientNetworkTransform.cs create mode 100644 Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/Scripts/ClientNetworkTransform.cs.meta create mode 100644 Assets/Scenes/BasicMultiplayerWithRelayClientBall.unity create mode 100644 Assets/Scenes/BasicMultiplayerWithRelayClientBall.unity.meta create mode 100644 Assets/Scenes/BasicMultiplayerWithRelayClientTransform.unity create mode 100644 Assets/Scenes/BasicMultiplayerWithRelayClientTransform.unity.meta create mode 100644 Assets/Scenes/BasicMultiplayerWithRelayWithFollowCamera.unity create mode 100644 Assets/Scenes/BasicMultiplayerWithRelayWithFollowCamera.unity.meta create mode 100644 Assets/Scripts/PlayerBallControl.cs create mode 100644 Assets/Scripts/PlayerBallControl.cs.meta create mode 100644 Assets/Scripts/PlayerCameraFollow.cs create mode 100644 Assets/Scripts/PlayerCameraFollow.cs.meta create mode 100644 Assets/Scripts/PlayerControlAuthorative.cs create mode 100644 Assets/Scripts/PlayerControlAuthorative.cs.meta diff --git a/Assets/Prefabs/PlayerArmatureNetworkAuthorative.prefab b/Assets/Prefabs/PlayerArmatureNetworkAuthorative.prefab new file mode 100644 index 0000000..14839fd --- /dev/null +++ b/Assets/Prefabs/PlayerArmatureNetworkAuthorative.prefab @@ -0,0 +1,2827 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &244231584780285987 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1026663357163203841} + m_Layer: 0 + m_Name: Left_MiddleIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1026663357163203841 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 244231584780285987} + m_LocalRotation: {x: 0.3409832, y: -0, z: -0, w: 0.94006944} + m_LocalPosition: {x: 2.7261607e-16, y: 0.051279362, z: 5.988264e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1227890628098270285} + m_Father: {fileID: 1232618838456867031} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &449461506271603253 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1799981463640710645} + m_Layer: 0 + m_Name: Right_ThumbIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1799981463640710645 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 449461506271603253} + m_LocalRotation: {x: 0.12780538, y: -0, z: -0, w: 0.9917993} + m_LocalPosition: {x: 0.00000015009721, y: -0.02757781, z: -0.0038183848} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3483400752050893167} + m_Father: {fileID: 2567116511332279935} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &585997340995798128 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1232618838456867031} + m_Layer: 0 + m_Name: Left_MiddleProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1232618838456867031 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 585997340995798128} + m_LocalRotation: {x: 0.09593409, y: -0.6426922, z: 0.21124882, w: 0.73014885} + m_LocalPosition: {x: 0.012847862, y: 0.08609763, z: 0.003435423} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1026663357163203841} + m_Father: {fileID: 6737376225247308402} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &608161810102364549 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 558213659905105689} + m_Layer: 0 + m_Name: Chest + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &558213659905105689 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 608161810102364549} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.1034043, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 8585545461554296341} + m_Father: {fileID: 4646305893816299101} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &985541736970934685 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1513696660507476608} + m_Layer: 0 + m_Name: Right_PinkyProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1513696660507476608 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 985541736970934685} + m_LocalRotation: {x: 0.0066045397, y: -0.5050901, z: 0.37113747, w: 0.77916455} + m_LocalPosition: {x: -0.0044381507, y: -0.07288141, z: 0.029358566} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6546993670434883999} + m_Father: {fileID: 6175967032285043618} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1105165784449620527 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4405029219532734228} + m_Layer: 0 + m_Name: Right_MiddleDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4405029219532734228 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1105165784449620527} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.000000038619483, y: -0.023345316, z: 0.0000005352584} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1873002857983709360} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1232126717151083651 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2567116511332279935} + m_Layer: 0 + m_Name: Right_ThumbProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2567116511332279935 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1232126717151083651} + m_LocalRotation: {x: -0.22855467, y: 0.9196341, z: 0.3181213, w: 0.028891658} + m_LocalPosition: {x: 0.00080341793, y: -0.028816395, z: -0.023514695} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1799981463640710645} + m_Father: {fileID: 6175967032285043618} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1314053269966882692 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 265872394791069615} + m_Layer: 0 + m_Name: Left_PinkyIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &265872394791069615 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1314053269966882692} + m_LocalRotation: {x: 0.29918617, y: -0, z: -0, w: 0.9541948} + m_LocalPosition: {x: 1.9539922e-16, y: 0.032272622, z: -1.4210853e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7706054481839559333} + m_Father: {fileID: 6932325429758406878} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1400721609941234633 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6068930853218714775} + m_Layer: 0 + m_Name: Left_UpperArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6068930853218714775 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1400721609941234633} + m_LocalRotation: {x: 0.17870995, y: 0.027966414, z: 0.90344393, w: 0.38867685} + m_LocalPosition: {x: -0.16743502, y: -5.684341e-16, z: -2.664535e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 406902334643423412} + m_Father: {fileID: 5428396209633246077} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1537282920018066549 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8107173006787318914} + m_Layer: 0 + m_Name: Right_MiddleProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8107173006787318914 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1537282920018066549} + m_LocalRotation: {x: 0.09593409, y: -0.6426922, z: 0.21124882, w: 0.73014885} + m_LocalPosition: {x: -0.012848663, y: -0.08609768, z: -0.0034359337} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 83493840906885402} + m_Father: {fileID: 6175967032285043618} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1617713983580205402 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4627964455330630087} + - component: {fileID: 9065940176546328143} + - component: {fileID: 3414308731929671785} + - component: {fileID: 5224802435579423595} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4627964455330630087 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1617713983580205402} + 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_Children: + - {fileID: 8640391687801868002} + - {fileID: 3011885821099163027} + m_Father: {fileID: 1442616492088815482} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 1.9089} + m_SizeDelta: {x: 1, y: 0.1717} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!223 &9065940176546328143 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1617713983580205402} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!114 &3414308731929671785 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1617713983580205402} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 1 +--- !u!114 &5224802435579423595 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1617713983580205402} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!1 &1675594182337638904 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5552717512047487912} + m_Layer: 0 + m_Name: Geometry + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5552717512047487912 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1675594182337638904} + 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_Children: + - {fileID: 8841715135939648584} + m_Father: {fileID: 1442616492088815482} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1715091568715309871 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 145626458229361244} + m_Layer: 0 + m_Name: Right_Toes + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &145626458229361244 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1715091568715309871} + m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068} + m_LocalPosition: {x: -0.00000015643121, y: -0.07224799, z: 0.11807} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4142797357641560077} + m_Father: {fileID: 1276045500487741993} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1724597668171431321 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9117862473974644085} + m_Layer: 0 + m_Name: Right_IndexDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &9117862473974644085 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1724597668171431321} + m_LocalRotation: {x: 0.08318636, y: -0, z: -0, w: 0.996534} + m_LocalPosition: {x: -0.00000032847043, y: -0.025139209, z: -0.0000005960629} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2078066683080378440} + m_Father: {fileID: 4557128205401797226} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1791760147675144574 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1276045500487741993} + m_Layer: 0 + m_Name: Right_Foot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1276045500487741993 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1791760147675144574} + m_LocalRotation: {x: -0.035700925, y: 0.049957544, z: -0.019575229, w: 0.9979211} + m_LocalPosition: {x: -0.0000007472542, y: -0.41403967, z: -0.000000032847502} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 145626458229361244} + m_Father: {fileID: 2719951561773595444} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1792345704556743872 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4556303023756102422} + m_Layer: 0 + m_Name: Right_UpperLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4556303023756102422 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1792345704556743872} + m_LocalRotation: {x: 0.0026075041, y: 0.000046300407, z: 0.01775374, w: 0.999839} + m_LocalPosition: {x: 0.086103186, y: -0.053458147, z: -0.0114706475} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2719951561773595444} + m_Father: {fileID: 5737044368534218187} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1800729227854870461 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5737044368534218187} + m_Layer: 0 + m_Name: Hips + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5737044368534218187 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1800729227854870461} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.9810986, z: -0.01590455} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4822073735533825497} + - {fileID: 4556303023756102422} + - {fileID: 4646305893816299101} + m_Father: {fileID: 2435088022943814115} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2073799010809414044 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6800717569175886438} + m_Layer: 0 + m_Name: Right_ThumbDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6800717569175886438 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2073799010809414044} + m_LocalRotation: {x: -2.7755574e-17, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.00000020228964, y: -0.029458148, z: 0.0000009551683} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 3483400752050893167} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2180539220984049427 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4646305893816299101} + m_Layer: 0 + m_Name: Spine + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4646305893816299101 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2180539220984049427} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.058229383, z: 0.0012229546} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 558213659905105689} + m_Father: {fileID: 5737044368534218187} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2255991852033553856 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1442616492088815482} + - component: {fileID: 4820286304567637248} + - component: {fileID: 2255991852033553866} + - component: {fileID: 8782944162090155111} + - component: {fileID: 6524640165081047080} + - component: {fileID: 3744294913487860803} + - component: {fileID: 5257146460509302217} + - component: {fileID: 6236985613144584727} + m_Layer: 8 + m_Name: PlayerArmatureNetworkAuthorative + m_TagString: Player + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1442616492088815482 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2255991852033553856} + 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_Children: + - {fileID: 5888737537590512796} + - {fileID: 5552717512047487912} + - {fileID: 2435088022943814115} + - {fileID: 4627964455330630087} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!95 &4820286304567637248 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2255991852033553856} + m_Enabled: 1 + m_Avatar: {fileID: 9000000, guid: 36078ab0369161e49a29d349ae3e0739, type: 3} + m_Controller: {fileID: 9100000, guid: eec69ad5ebd7849418020db04e5ed28f, type: 2} + m_CullingMode: 1 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!143 &2255991852033553866 +CharacterController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2255991852033553856} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Height: 1.8 + m_Radius: 0.28 + m_SlopeLimit: 45 + m_StepOffset: 0.25 + m_SkinWidth: 0.02 + m_MinMoveDistance: 0 + m_Center: {x: 0, y: 0.93, z: 0} +--- !u!114 &8782944162090155111 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2255991852033553856} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} + m_Name: + m_EditorClassIdentifier: + GlobalObjectIdHash: 951099334 + AlwaysReplicateAsRoot: 0 + DontDestroyWithOwner: 0 + AutoObjectParentSync: 1 +--- !u!114 &6524640165081047080 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2255991852033553856} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e8d0727d5ae3244e3b569694d3912374, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Animator: {fileID: 4820286304567637248} + m_ParameterSendBits: 0 + m_SendRate: 0.1 +--- !u!114 &3744294913487860803 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2255991852033553856} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e63639699374a347a4ed4653143d74f, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &5257146460509302217 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2255991852033553856} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 54c9647dc784a46bca664910f182491e, type: 3} + m_Name: + m_EditorClassIdentifier: + SyncPositionX: 1 + SyncPositionY: 1 + SyncPositionZ: 1 + SyncRotAngleX: 1 + SyncRotAngleY: 1 + SyncRotAngleZ: 1 + SyncScaleX: 0 + SyncScaleY: 0 + SyncScaleZ: 0 + PositionThreshold: 0.001 + RotAngleThreshold: 0.01 + ScaleThreshold: 0.01 + InLocalSpace: 0 + Interpolate: 1 + CanCommitToTransform: 0 +--- !u!114 &6236985613144584727 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2255991852033553856} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 82d02a395452c4f44b6f87d460322c56, type: 3} + m_Name: + m_EditorClassIdentifier: + speed: 3.5 + rotationSpeed: 3.5 + defaultInitialPositionOnPlane: {x: -4, y: 4} + networkPlayerState: + m_InternalValue: 0 +--- !u!1 &2439462815760529262 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5023709181059334910} + m_Layer: 0 + m_Name: Left_ToesEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5023709181059334910 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2439462815760529262} + m_LocalRotation: {x: 0.7070656, y: -0.0076321815, z: -0.0076321815, w: 0.7070656} + m_LocalPosition: {x: -0.0010026174, y: 0.06423476, z: 0.016843978} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6368778769135813700} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2572533530581480006 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3792895880416842378} + m_Layer: 0 + m_Name: Left_ThumbDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3792895880416842378 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2572533530581480006} + m_LocalRotation: {x: 0.17147453, y: -0, z: -0, w: 0.98518854} + m_LocalPosition: {x: -2.2737365e-15, y: 0.044597257, z: -0.006869915} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7602775348934227880} + m_Father: {fileID: 5609893821727662178} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2622505099677794013 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7349052981631916131} + m_Layer: 0 + m_Name: Right_PinkyDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7349052981631916131 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2622505099677794013} + m_LocalRotation: {x: -1.7347236e-17, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.000000632002, y: -0.018518865, z: 0.0000001154108} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1220767386512293335} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2698843841242994355 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1120553683847380232} + m_Layer: 0 + m_Name: Left_Foot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1120553683847380232 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2698843841242994355} + m_LocalRotation: {x: -0.035700925, y: 0.049957544, z: -0.019575229, w: 0.9979211} + m_LocalPosition: {x: 0.0000000017320426, y: 0.41403946, z: 7.141509e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6368778769135813700} + m_Father: {fileID: 2167515973876404017} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2809016143307575779 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4486519758397539137} + m_Layer: 0 + m_Name: Left_IndexDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4486519758397539137 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2809016143307575779} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.1581012e-16, y: 0.024609203, z: -6.661337e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 5247557030723887469} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2905160270515928235 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3119336857450533702} + m_Layer: 0 + m_Name: Right_UpperArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3119336857450533702 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2905160270515928235} + m_LocalRotation: {x: 0.17870995, y: 0.027966414, z: 0.90344393, w: 0.38867685} + m_LocalPosition: {x: 0.16743432, y: -0.0000022099182, z: 0.00000012213746} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 5871674912700221842} + m_Father: {fileID: 6874003096997818585} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3038325984604122333 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3731093318951352353} + m_Layer: 0 + m_Name: Neck + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3731093318951352353 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3038325984604122333} + m_LocalRotation: {x: 0.060688436, y: -0, z: -0, w: 0.9981568} + m_LocalPosition: {x: -0, y: 0.25104657, z: -0.015329581} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 8206645716033393124} + - {fileID: 3216176803127355414} + m_Father: {fileID: 8585545461554296341} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3561990738026694033 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8206645716033393124} + m_Layer: 0 + m_Name: Head + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8206645716033393124 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3561990738026694033} + m_LocalRotation: {x: -0.060688436, y: 0, z: -0, w: 0.9981568} + m_LocalPosition: {x: -0, y: 0.12747401, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3737476842683870518} + - {fileID: 585419701863245553} + - {fileID: 6946781792332490762} + m_Father: {fileID: 3731093318951352353} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3641924234678590198 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2210257919602810693} + m_Layer: 0 + m_Name: Right_RingProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2210257919602810693 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3641924234678590198} + m_LocalRotation: {x: 0.035571605, y: -0.5691555, z: 0.3065858, w: 0.76210356} + m_LocalPosition: {x: -0.00952738, y: -0.08161427, z: 0.012242128} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 8905139391875456912} + m_Father: {fileID: 6175967032285043618} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3658883542197807302 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3947020077715205062} + m_Layer: 0 + m_Name: Left_PinkyDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3947020077715205062 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3658883542197807302} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.2434495e-16, y: 0.018519057, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 7706054481839559333} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3826224985137652113 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7602775348934227880} + m_Layer: 0 + m_Name: Left_ThumbDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7602775348934227880 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3826224985137652113} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -4.2632555e-16, y: 0.029458016, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 3792895880416842378} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3886080939524499746 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3011885821099163027} + - component: {fileID: 1341047204635410203} + - component: {fileID: 1739540155130014271} + m_Layer: 5 + m_Name: PlayerInfo + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3011885821099163027 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3886080939524499746} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.05, y: 0.05, z: 0.05} + m_Children: [] + m_Father: {fileID: 4627964455330630087} + m_RootOrder: 1 + 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: 1, y: 0.5} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1341047204635410203 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3886080939524499746} + m_CullTransparentMesh: 1 +--- !u!114 &1739540155130014271 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3886080939524499746} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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: '[INFO]' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, 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: 2 + m_fontSizeBase: 2 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 17 + 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: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: -9.426548, y: -4.733651, z: -9.481981, w: -4.8943486} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &3978296161699309972 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5381070596726244968} + m_Layer: 0 + m_Name: Left_RingDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5381070596726244968 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3978296161699309972} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -7.105426e-17, y: 0.02095726, z: -7.105426e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2975953230391712976} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4006678193016451409 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5609893821727662178} + m_Layer: 0 + m_Name: Left_ThumbIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5609893821727662178 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4006678193016451409} + m_LocalRotation: {x: 0.1278054, y: -0, z: -0, w: 0.9917993} + m_LocalPosition: {x: 2.4357445e-15, y: 0.027578257, z: 0.0038183592} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3792895880416842378} + m_Father: {fileID: 4743697544869238395} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4132055647301987065 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4557128205401797226} + m_Layer: 0 + m_Name: Right_IndexIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4557128205401797226 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4132055647301987065} + m_LocalRotation: {x: 0.26077324, y: -0, z: -0, w: 0.9654001} + m_LocalPosition: {x: 0.0000006924457, y: -0.04210151, z: -0.0000013631077} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 9117862473974644085} + m_Father: {fileID: 9188120217043210968} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4404606757508943264 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6932325429758406878} + m_Layer: 0 + m_Name: Left_PinkyProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6932325429758406878 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4404606757508943264} + m_LocalRotation: {x: 0.0066045397, y: -0.5050901, z: 0.37113747, w: 0.77916455} + m_LocalPosition: {x: 0.004436847, y: 0.07288173, z: -0.029359013} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 265872394791069615} + m_Father: {fileID: 6737376225247308402} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4665109955207935807 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2975953230391712976} + m_Layer: 0 + m_Name: Left_RingDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2975953230391712976 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4665109955207935807} + m_LocalRotation: {x: 0.09052901, y: -0, z: -0, w: 0.99589384} + m_LocalPosition: {x: 1.7763566e-17, y: 0.027115494, z: -1.065814e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 5381070596726244968} + m_Father: {fileID: 5384520442031199070} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4750939298509136984 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9188120217043210968} + m_Layer: 0 + m_Name: Right_IndexProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &9188120217043210968 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4750939298509136984} + m_LocalRotation: {x: 0.1338533, y: -0.6899348, z: 0.20177367, w: 0.6821735} + m_LocalPosition: {x: -0.0078223245, y: -0.0918393, z: -0.026574574} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4557128205401797226} + m_Father: {fileID: 6175967032285043618} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4825219234554594488 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2078066683080378440} + m_Layer: 0 + m_Name: Right_IndexDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2078066683080378440 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4825219234554594488} + m_LocalRotation: {x: -5.5511138e-17, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.00000023984484, y: -0.024609355, z: 0.0000006271131} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 9117862473974644085} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4835126998652017046 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1227890628098270285} + m_Layer: 0 + m_Name: Left_MiddleDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1227890628098270285 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4835126998652017046} + m_LocalRotation: {x: 0.03347514, y: -0, z: -0, w: 0.9994396} + m_LocalPosition: {x: -7.199101e-17, y: 0.028284006, z: -4.93648e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6216018358053410269} + m_Father: {fileID: 1026663357163203841} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4877986389867762187 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 83493840906885402} + m_Layer: 0 + m_Name: Right_MiddleIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &83493840906885402 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4877986389867762187} + m_LocalRotation: {x: 0.3409832, y: -0, z: -0, w: 0.94006944} + m_LocalPosition: {x: 0.000000014272595, y: -0.051275954, z: 0.0000009747695} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1873002857983709360} + m_Father: {fileID: 8107173006787318914} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4916925942970172865 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5871674912700221842} + m_Layer: 0 + m_Name: Right_LowerArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5871674912700221842 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4916925942970172865} + m_LocalRotation: {x: 0.37416065, y: -8.0435996e-17, z: -3.2453267e-17, w: 0.92736393} + m_LocalPosition: {x: 0.0000037273983, y: -0.285085, z: -0.00000035927226} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6175967032285043618} + m_Father: {fileID: 3119336857450533702} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5020374504470577678 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1220767386512293335} + m_Layer: 0 + m_Name: Right_PinkyDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1220767386512293335 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5020374504470577678} + m_LocalRotation: {x: 0.14234784, y: -0, z: -0, w: 0.9898167} + m_LocalPosition: {x: 0.00000023899057, y: -0.02022493, z: 0.00000055474345} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7349052981631916131} + m_Father: {fileID: 6546993670434883999} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5306896781709720354 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 406902334643423412} + m_Layer: 0 + m_Name: Left_LowerArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &406902334643423412 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5306896781709720354} + m_LocalRotation: {x: 0.37416065, y: -8.0435996e-17, z: -3.2453267e-17, w: 0.92736393} + m_LocalPosition: {x: -2.8421706e-16, y: 0.28508067, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6737376225247308402} + m_Father: {fileID: 6068930853218714775} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5566092521832201235 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2167515973876404017} + m_Layer: 0 + m_Name: Left_LowerLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2167515973876404017 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5566092521832201235} + m_LocalRotation: {x: 0.034046065, y: 2.2687323e-19, z: 7.728622e-21, w: 0.9994203} + m_LocalPosition: {x: -2.9864513e-16, y: 0.4133444, z: -5.4956034e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1120553683847380232} + m_Father: {fileID: 4822073735533825497} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5577317769870923937 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1873002857983709360} + m_Layer: 0 + m_Name: Right_MiddleDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1873002857983709360 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5577317769870923937} + m_LocalRotation: {x: 0.03347514, y: -0, z: -0, w: 0.9994396} + m_LocalPosition: {x: 0.00000014287376, y: -0.028283618, z: 0.00000019378916} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4405029219532734228} + m_Father: {fileID: 83493840906885402} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5674522895169021971 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4743697544869238395} + m_Layer: 0 + m_Name: Left_ThumbProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4743697544869238395 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5674522895169021971} + m_LocalRotation: {x: -0.22855467, y: 0.9196341, z: 0.3181213, w: 0.028891658} + m_LocalPosition: {x: -0.00080496486, y: 0.028816883, z: 0.023514476} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 5609893821727662178} + m_Father: {fileID: 6737376225247308402} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5888737537590512795 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5888737537590512796} + m_Layer: 0 + m_Name: PlayerCameraRoot + m_TagString: CinemachineTarget + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5888737537590512796 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5888737537590512795} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 1.375, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1442616492088815482} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5896250297736811367 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6946781792332490762} + m_Layer: 0 + m_Name: Right_Eye + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6946781792332490762 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5896250297736811367} + m_LocalRotation: {x: 0.7071068, y: 4.3297806e-17, z: 0.7071068, w: -4.3297806e-17} + m_LocalPosition: {x: 0.033303294, y: 0.03459628, z: 0.0867403} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8206645716033393124} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6025070281116032396 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8841715135939648584} + - component: {fileID: 8047377367509417012} + m_Layer: 0 + m_Name: Armature_Mesh + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8841715135939648584 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6025070281116032396} + 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_Children: [] + m_Father: {fileID: 5552717512047487912} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &8047377367509417012 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6025070281116032396} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 43714b68324cc2c409d534d9874f2a2b, type: 2} + - {fileID: 2100000, guid: 766fd3ff04aab4745a764d33daac86fa, type: 2} + - {fileID: 2100000, guid: 8b25e99361ac31d4e9ae83c46aee69ea, 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4698152120088058464, guid: 36078ab0369161e49a29d349ae3e0739, type: 3} + m_Bones: + - {fileID: 5737044368534218187} + - {fileID: 4646305893816299101} + - {fileID: 558213659905105689} + - {fileID: 8585545461554296341} + - {fileID: 3731093318951352353} + - {fileID: 8206645716033393124} + - {fileID: 6946781792332490762} + - {fileID: 585419701863245553} + - {fileID: 3737476842683870518} + - {fileID: 3216176803127355414} + - {fileID: 5428396209633246077} + - {fileID: 6068930853218714775} + - {fileID: 406902334643423412} + - {fileID: 6737376225247308402} + - {fileID: 6932325429758406878} + - {fileID: 265872394791069615} + - {fileID: 7706054481839559333} + - {fileID: 3947020077715205062} + - {fileID: 9002775745512501803} + - {fileID: 5384520442031199070} + - {fileID: 2975953230391712976} + - {fileID: 5381070596726244968} + - {fileID: 1232618838456867031} + - {fileID: 1026663357163203841} + - {fileID: 1227890628098270285} + - {fileID: 6216018358053410269} + - {fileID: 1854158826397940538} + - {fileID: 4130192368050876618} + - {fileID: 5247557030723887469} + - {fileID: 4486519758397539137} + - {fileID: 4743697544869238395} + - {fileID: 5609893821727662178} + - {fileID: 3792895880416842378} + - {fileID: 7602775348934227880} + - {fileID: 6874003096997818585} + - {fileID: 3119336857450533702} + - {fileID: 5871674912700221842} + - {fileID: 6175967032285043618} + - {fileID: 1513696660507476608} + - {fileID: 6546993670434883999} + - {fileID: 1220767386512293335} + - {fileID: 7349052981631916131} + - {fileID: 2210257919602810693} + - {fileID: 8905139391875456912} + - {fileID: 8419196350393571199} + - {fileID: 7440386302069888249} + - {fileID: 8107173006787318914} + - {fileID: 83493840906885402} + - {fileID: 1873002857983709360} + - {fileID: 4405029219532734228} + - {fileID: 9188120217043210968} + - {fileID: 4557128205401797226} + - {fileID: 9117862473974644085} + - {fileID: 2078066683080378440} + - {fileID: 2567116511332279935} + - {fileID: 1799981463640710645} + - {fileID: 3483400752050893167} + - {fileID: 6800717569175886438} + - {fileID: 4822073735533825497} + - {fileID: 2167515973876404017} + - {fileID: 1120553683847380232} + - {fileID: 6368778769135813700} + - {fileID: 5023709181059334910} + - {fileID: 4556303023756102422} + - {fileID: 2719951561773595444} + - {fileID: 1276045500487741993} + - {fileID: 145626458229361244} + - {fileID: 4142797357641560077} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 5737044368534218187} + m_AABB: + m_Center: {x: -0.000000029802322, y: -0.09214255, z: 0.026248664} + m_Extent: {x: 0.52818465, y: 0.88092995, z: 0.22050178} + m_DirtyAABB: 0 +--- !u!1 &6382560246957367444 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 585419701863245553} + m_Layer: 0 + m_Name: Left_Eye + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &585419701863245553 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6382560246957367444} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} + m_LocalPosition: {x: -0.03330326, y: 0.034598116, z: 0.0867403} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8206645716033393124} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6467041033495597919 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6874003096997818585} + m_Layer: 0 + m_Name: Right_Shoulder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6874003096997818585 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6467041033495597919} + m_LocalRotation: {x: 0.99258024, y: -0.04327539, z: -0.113521874, w: 0.004949396} + m_LocalPosition: {x: 0.0009571358, y: 0.19149381, z: -0.008727803} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3119336857450533702} + m_Father: {fileID: 8585545461554296341} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6639447557520747660 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8419196350393571199} + m_Layer: 0 + m_Name: Right_RingDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8419196350393571199 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6639447557520747660} + m_LocalRotation: {x: 0.09052901, y: -0, z: -0, w: 0.99589384} + m_LocalPosition: {x: -0.000000290747, y: -0.02711462, z: 0.0000000181098} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7440386302069888249} + m_Father: {fileID: 8905139391875456912} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6649526770467468316 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2719951561773595444} + m_Layer: 0 + m_Name: Right_LowerLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2719951561773595444 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6649526770467468316} + m_LocalRotation: {x: 0.034046065, y: 2.2687323e-19, z: 7.728622e-21, w: 0.9994203} + m_LocalPosition: {x: 0.0000004514609, y: -0.41334414, z: 0.000000025994435} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1276045500487741993} + m_Father: {fileID: 4556303023756102422} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6685991955569055537 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8905139391875456912} + m_Layer: 0 + m_Name: Right_RingIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8905139391875456912 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6685991955569055537} + m_LocalRotation: {x: 0.3907906, y: -0, z: -0, w: 0.9204796} + m_LocalPosition: {x: 0.0000000695935, y: -0.04362872, z: 0.00000080048335} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 8419196350393571199} + m_Father: {fileID: 2210257919602810693} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6817550182326159670 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1854158826397940538} + m_Layer: 0 + m_Name: Left_IndexProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1854158826397940538 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6817550182326159670} + m_LocalRotation: {x: 0.1338533, y: -0.6899348, z: 0.20177367, w: 0.6821735} + m_LocalPosition: {x: 0.007815497, y: 0.0918443, z: 0.02657316} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4130192368050876618} + m_Father: {fileID: 6737376225247308402} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6853339568233395670 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4142797357641560077} + m_Layer: 0 + m_Name: Right_ToesEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4142797357641560077 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6853339568233395670} + m_LocalRotation: {x: 0.7070656, y: -0.0076321815, z: -0.0076321815, w: 0.7070656} + m_LocalPosition: {x: 0.0010031584, y: -0.06423059, z: -0.016843898} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 145626458229361244} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6867047020064102711 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6737376225247308402} + m_Layer: 0 + m_Name: Left_Hand + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6737376225247308402 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6867047020064102711} + m_LocalRotation: {x: -0.047397237, y: -0.24003562, z: 0.013464749, w: 0.9695128} + m_LocalPosition: {x: -2.4123817e-10, y: 0.24036221, z: -1.4210853e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1854158826397940538} + - {fileID: 1232618838456867031} + - {fileID: 6932325429758406878} + - {fileID: 9002775745512501803} + - {fileID: 4743697544869238395} + m_Father: {fileID: 406902334643423412} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7120921923563481603 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6216018358053410269} + m_Layer: 0 + m_Name: Left_MiddleDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6216018358053410269 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7120921923563481603} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.7763565e-16, y: 0.023346113, z: -7.105426e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1227890628098270285} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7262482095987702352 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6546993670434883999} + m_Layer: 0 + m_Name: Right_PinkyIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6546993670434883999 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7262482095987702352} + m_LocalRotation: {x: 0.29918617, y: -0, z: -0, w: 0.9541948} + m_LocalPosition: {x: 0.00000045734515, y: -0.032268908, z: 0.00000088312623} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1220767386512293335} + m_Father: {fileID: 1513696660507476608} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7345635636037343616 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7706054481839559333} + m_Layer: 0 + m_Name: Left_PinkyDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7706054481839559333 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7345635636037343616} + m_LocalRotation: {x: 0.14234784, y: -0, z: -0, w: 0.9898167} + m_LocalPosition: {x: -3.5527133e-17, y: 0.020224448, z: -7.1054265e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3947020077715205062} + m_Father: {fileID: 265872394791069615} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7356337976750808377 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9002775745512501803} + m_Layer: 0 + m_Name: Left_RingProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &9002775745512501803 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7356337976750808377} + m_LocalRotation: {x: 0.035571605, y: -0.5691555, z: 0.3065858, w: 0.76210356} + m_LocalPosition: {x: 0.009525569, y: 0.08161553, z: -0.012242405} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 5384520442031199070} + m_Father: {fileID: 6737376225247308402} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7564247617468009595 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6175967032285043618} + m_Layer: 0 + m_Name: Right_Hand + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6175967032285043618 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7564247617468009595} + m_LocalRotation: {x: -0.047397237, y: -0.24003562, z: 0.013464749, w: 0.9695128} + m_LocalPosition: {x: 0.0000014923929, y: -0.24036367, z: 0.0000017856368} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 9188120217043210968} + - {fileID: 8107173006787318914} + - {fileID: 1513696660507476608} + - {fileID: 2210257919602810693} + - {fileID: 2567116511332279935} + m_Father: {fileID: 5871674912700221842} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7815929378050493522 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8585545461554296341} + m_Layer: 0 + m_Name: UpperChest + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8585545461554296341 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7815929378050493522} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.1034043, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 5428396209633246077} + - {fileID: 3731093318951352353} + - {fileID: 6874003096997818585} + m_Father: {fileID: 558213659905105689} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7891525450866880347 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5384520442031199070} + m_Layer: 0 + m_Name: Left_RingIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5384520442031199070 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7891525450866880347} + m_LocalRotation: {x: 0.3907906, y: -0, z: -0, w: 0.9204796} + m_LocalPosition: {x: 3.3750777e-16, y: 0.043630484, z: -1.4210853e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2975953230391712976} + m_Father: {fileID: 9002775745512501803} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8092650167380018180 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2435088022943814115} + m_Layer: 0 + m_Name: Skeleton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2435088022943814115 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8092650167380018180} + 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_Children: + - {fileID: 5737044368534218187} + m_Father: {fileID: 1442616492088815482} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8569594599682320969 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4130192368050876618} + m_Layer: 0 + m_Name: Left_IndexIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4130192368050876618 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8569594599682320969} + m_LocalRotation: {x: 0.26077324, y: -0, z: -0, w: 0.9654001} + m_LocalPosition: {x: 9.079803e-16, y: 0.04209777, z: 3.2607592e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 5247557030723887469} + m_Father: {fileID: 1854158826397940538} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8591180159986310490 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5247557030723887469} + m_Layer: 0 + m_Name: Left_IndexDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5247557030723887469 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8591180159986310490} + m_LocalRotation: {x: 0.08318636, y: -0, z: -0, w: 0.996534} + m_LocalPosition: {x: -8.20111e-16, y: 0.02513925, z: -4.317065e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4486519758397539137} + m_Father: {fileID: 4130192368050876618} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8649432232539763944 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8640391687801868002} + - component: {fileID: 2934691516065579113} + - component: {fileID: 3250243198270372264} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8640391687801868002 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8649432232539763944} + 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_Children: [] + m_Father: {fileID: 4627964455330630087} + 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: 1, y: 0.1717} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2934691516065579113 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8649432232539763944} + m_CullTransparentMesh: 1 +--- !u!114 &3250243198270372264 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8649432232539763944} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.2627451} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Texture: {fileID: 0} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!1 &8706846212980418090 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4822073735533825497} + m_Layer: 0 + m_Name: Left_UpperLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4822073735533825497 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8706846212980418090} + m_LocalRotation: {x: 0.999839, y: -0.01775374, z: 0.000046300094, w: -0.0026074864} + m_LocalPosition: {x: -0.08610317, y: -0.053458035, z: -0.011470641} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2167515973876404017} + m_Father: {fileID: 5737044368534218187} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8770318370810202937 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6368778769135813700} + m_Layer: 0 + m_Name: Left_Toes + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6368778769135813700 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8770318370810202937} + m_LocalRotation: {x: -0.7071068, y: 8.7157646e-33, z: -8.7157646e-33, w: 0.7071068} + m_LocalPosition: {x: 7.105427e-17, y: 0.07224803, z: -0.118065506} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 5023709181059334910} + m_Father: {fileID: 1120553683847380232} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8823083026816358063 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3483400752050893167} + m_Layer: 0 + m_Name: Right_ThumbDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3483400752050893167 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8823083026816358063} + m_LocalRotation: {x: 0.17147453, y: -0, z: -0, w: 0.98518854} + m_LocalPosition: {x: 0.0000007817755, y: -0.044594634, z: 0.0068707783} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6800717569175886438} + m_Father: {fileID: 1799981463640710645} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8845953376960200247 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3737476842683870518} + m_Layer: 0 + m_Name: Jaw + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3737476842683870518 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8845953376960200247} + m_LocalRotation: {x: 0.15949209, y: 0.68888485, z: 0.15949209, w: 0.68888485} + m_LocalPosition: {x: -0, y: -0.00763539, z: 0.012895278} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8206645716033393124} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8919784560372876075 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7440386302069888249} + m_Layer: 0 + m_Name: Right_RingDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7440386302069888249 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8919784560372876075} + m_LocalRotation: {x: 9.02056e-17, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.00000008856214, y: -0.020957856, z: 0.0000005565459} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8419196350393571199} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &9017147744778391224 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5428396209633246077} + m_Layer: 0 + m_Name: Left_Shoulder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5428396209633246077 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9017147744778391224} + m_LocalRotation: {x: -0.0049494267, y: -0.113521874, z: 0.043275386, w: 0.99258024} + m_LocalPosition: {x: -0.0009571358, y: 0.19149224, z: -0.0087277945} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6068930853218714775} + m_Father: {fileID: 8585545461554296341} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &9069327181634774469 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3216176803127355414} + m_Layer: 0 + m_Name: Neck_Twist_A + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3216176803127355414 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9069327181634774469} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.063737005, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 3731093318951352353} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/Prefabs/PlayerArmatureNetworkAuthorative.prefab.meta b/Assets/Prefabs/PlayerArmatureNetworkAuthorative.prefab.meta new file mode 100644 index 0000000..d6070d3 --- /dev/null +++ b/Assets/Prefabs/PlayerArmatureNetworkAuthorative.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7527d4f93a64f4f4ebfef96d1d58d25d +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/PlayerBall.prefab b/Assets/Prefabs/PlayerBall.prefab new file mode 100644 index 0000000..54899e4 --- /dev/null +++ b/Assets/Prefabs/PlayerBall.prefab @@ -0,0 +1,177 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &4228929212823577024 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4228929212823577084} + - component: {fileID: 4228929212823577027} + - component: {fileID: 4228929212823577026} + - component: {fileID: 4228929212823577025} + - component: {fileID: 4228929212823577085} + - component: {fileID: 4228929212823577086} + - component: {fileID: 1365010179939585515} + - component: {fileID: 7435077426508318295} + m_Layer: 0 + m_Name: PlayerBall + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4228929212823577084 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4228929212823577024} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &4228929212823577027 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4228929212823577024} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &4228929212823577026 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4228929212823577024} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + 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: 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: 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!135 &4228929212823577025 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4228929212823577024} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!54 &4228929212823577085 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4228929212823577024} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &4228929212823577086 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4228929212823577024} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} + m_Name: + m_EditorClassIdentifier: + GlobalObjectIdHash: 951099334 + AlwaysReplicateAsRoot: 0 + DontDestroyWithOwner: 0 + AutoObjectParentSync: 1 +--- !u!114 &1365010179939585515 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4228929212823577024} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 54c9647dc784a46bca664910f182491e, type: 3} + m_Name: + m_EditorClassIdentifier: + SyncPositionX: 1 + SyncPositionY: 1 + SyncPositionZ: 1 + SyncRotAngleX: 1 + SyncRotAngleY: 1 + SyncRotAngleZ: 1 + SyncScaleX: 1 + SyncScaleY: 1 + SyncScaleZ: 1 + PositionThreshold: 0.001 + RotAngleThreshold: 0.01 + ScaleThreshold: 0.01 + InLocalSpace: 0 + Interpolate: 1 + CanCommitToTransform: 0 +--- !u!114 &7435077426508318295 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4228929212823577024} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f6527cc6ed4db3445a7be7ea479c0246, type: 3} + m_Name: + m_EditorClassIdentifier: + speed: 3.5 + flySpeed: 3.5 + rotationSpeed: 3.5 + defaultInitialPositionOnPlane: {x: -4, y: 4} diff --git a/Assets/Prefabs/PlayerBall.prefab.meta b/Assets/Prefabs/PlayerBall.prefab.meta new file mode 100644 index 0000000..9951ba6 --- /dev/null +++ b/Assets/Prefabs/PlayerBall.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ff4df86469842974e8177a159bc1be40 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples.meta b/Assets/Samples.meta new file mode 100644 index 0000000..294db71 --- /dev/null +++ b/Assets/Samples.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 51779ab2592e4764281fe8357e027f87 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/Netcode for GameObjects.meta b/Assets/Samples/Netcode for GameObjects.meta new file mode 100644 index 0000000..583ec76 --- /dev/null +++ b/Assets/Samples/Netcode for GameObjects.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cdca2d8ba3a156441a277b8264cbb0ce +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/Netcode for GameObjects/1.0.0-pre.3.meta b/Assets/Samples/Netcode for GameObjects/1.0.0-pre.3.meta new file mode 100644 index 0000000..a903612 --- /dev/null +++ b/Assets/Samples/Netcode for GameObjects/1.0.0-pre.3.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7b0abebf306fbba4f8083c2e63750205 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform.meta b/Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform.meta new file mode 100644 index 0000000..9d69c71 --- /dev/null +++ b/Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8b7f00841f2760947be2197aee3ea614 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/.sample.json b/Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/.sample.json new file mode 100644 index 0000000..0c7e9fc --- /dev/null +++ b/Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/.sample.json @@ -0,0 +1,4 @@ +{ + "displayName": "ClientNetworkTransform", + "description": "A sample to demonstrate how client-driven NetworkTransform can be implemented" +} \ No newline at end of file diff --git a/Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/Prefabs.meta b/Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/Prefabs.meta new file mode 100644 index 0000000..875e321 --- /dev/null +++ b/Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/Prefabs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6b1ef235ca94b4bbd9a6456f44c69188 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/Prefabs/.gitkeep b/Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/Prefabs/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/Scenes.meta b/Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/Scenes.meta new file mode 100644 index 0000000..cc143c0 --- /dev/null +++ b/Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/Scenes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 03def738b58f746408d456f1f8c99264 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/Scenes/.gitkeep b/Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/Scenes/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/Scripts.meta b/Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/Scripts.meta new file mode 100644 index 0000000..d0f7f18 --- /dev/null +++ b/Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 749af92bd75b44951b56ea583f3f10b5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/Scripts/ClientNetworkTransform.asmdef b/Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/Scripts/ClientNetworkTransform.asmdef new file mode 100644 index 0000000..26e8209 --- /dev/null +++ b/Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/Scripts/ClientNetworkTransform.asmdef @@ -0,0 +1,8 @@ +{ + "name": "ClientNetworkTransform", + "rootNamespace": "Unity.Netcode.Samples", + "references": [ + "Unity.Netcode.Runtime", + "Unity.Netcode.Components" + ] +} diff --git a/Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/Scripts/ClientNetworkTransform.asmdef.meta b/Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/Scripts/ClientNetworkTransform.asmdef.meta new file mode 100644 index 0000000..977e18f --- /dev/null +++ b/Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/Scripts/ClientNetworkTransform.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 78ac2a8d1365141f68da5d0a9e10dbc6 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/Scripts/ClientNetworkTransform.cs b/Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/Scripts/ClientNetworkTransform.cs new file mode 100644 index 0000000..e1bdca9 --- /dev/null +++ b/Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/Scripts/ClientNetworkTransform.cs @@ -0,0 +1,39 @@ +using Unity.Netcode.Components; +using UnityEngine; + +namespace Unity.Netcode.Samples +{ + /// + /// Used for syncing a transform with client side changes. This includes host. Pure server as owner isn't supported by this. Please use NetworkTransform + /// for transforms that'll always be owned by the server. + /// + [DisallowMultipleComponent] + public class ClientNetworkTransform : NetworkTransform + { + /// + /// Used to determine who can write to this transform. Owner client only. + /// Changing this value alone will not allow you to create a NetworkTransform which can be written to by clients. + /// We're using RPCs to send updated values from client to server. Netcode doesn't support client side network variable writing. + /// This imposes state to the server. This is putting trust on your clients. Make sure no security-sensitive features use this transform. + /// + // This is public to make sure that users don't depend on this IsClient && IsOwner check in their code. If this logic changes in the future, we can make it invisible here + + public override void OnNetworkSpawn() + { + base.OnNetworkSpawn(); + CanCommitToTransform = IsOwner; + } + + protected override void Update() + { + base.Update(); + if (NetworkManager.Singleton != null && (NetworkManager.Singleton.IsConnectedClient || NetworkManager.Singleton.IsListening)) + { + if (CanCommitToTransform) + { + TryCommitTransformToServer(transform, NetworkManager.LocalTime.Time); + } + } + } + } +} diff --git a/Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/Scripts/ClientNetworkTransform.cs.meta b/Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/Scripts/ClientNetworkTransform.cs.meta new file mode 100644 index 0000000..a19c929 --- /dev/null +++ b/Assets/Samples/Netcode for GameObjects/1.0.0-pre.3/ClientNetworkTransform/Scripts/ClientNetworkTransform.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 54c9647dc784a46bca664910f182491e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/BasicMultiplayerWithRelayClientBall.unity b/Assets/Scenes/BasicMultiplayerWithRelayClientBall.unity new file mode 100644 index 0000000..ae2d010 --- /dev/null +++ b/Assets/Scenes/BasicMultiplayerWithRelayClientBall.unity @@ -0,0 +1,2751 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 705507994} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &11131544 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 11131545} + - component: {fileID: 11131547} + - component: {fileID: 11131546} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &11131545 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 11131544} + 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_Children: [] + m_Father: {fileID: 807034474} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11131546 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 11131544} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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: Start Host + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 16 + 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: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &11131547 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 11131544} + m_CullTransparentMesh: 1 +--- !u!1 &83374807 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 83374808} + - component: {fileID: 83374810} + - component: {fileID: 83374809} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &83374808 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 83374807} + 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_Children: [] + m_Father: {fileID: 838573565} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &83374809 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 83374807} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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: Start Client + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 16 + 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: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &83374810 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 83374807} + m_CullTransparentMesh: 1 +--- !u!1 &189727563 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 189727564} + - component: {fileID: 189727567} + - component: {fileID: 189727566} + m_Layer: 5 + m_Name: PlayersInGameText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &189727564 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 189727563} + 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_Children: [] + m_Father: {fileID: 642461293} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -859.6677, y: -242} + m_SizeDelta: {x: 730.0734, y: 53.75} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &189727566 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 189727563} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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: '[network variable]' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4282335039 + m_fontColor: {r: 0.24528301, g: 0.24528301, b: 0.24528301, 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: 40 + m_fontSizeBase: 40 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 17 + m_HorizontalAlignment: 4 + 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: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &189727567 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 189727563} + m_CullTransparentMesh: 1 +--- !u!1 &209909299 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 209909300} + - component: {fileID: 209909303} + - component: {fileID: 209909302} + - component: {fileID: 209909301} + m_Layer: 5 + m_Name: StartServerButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &209909300 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 209909299} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1.3333334, y: 1.3333334, z: 1.3333334} + m_Children: + - {fileID: 718019741} + m_Father: {fileID: 642461293} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -676, y: -124.90637} + m_SizeDelta: {x: 261.7666, y: 59.3558} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &209909301 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 209909299} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 209909302} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &209909302 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 209909299} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, 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_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &209909303 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 209909299} + m_CullTransparentMesh: 1 +--- !u!1 &334368951 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 334368952} + - component: {fileID: 334368955} + - component: {fileID: 334368954} + - component: {fileID: 334368953} + m_Layer: 5 + m_Name: JoinCodeText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &334368952 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 334368951} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 2, z: 12} + m_Children: + - {fileID: 1996252196} + m_Father: {fileID: 642461293} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -305, y: -125} + m_SizeDelta: {x: 174.933, y: 41.0034} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &334368953 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 334368951} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2da0c512f12947e489f739169773d7ca, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 334368954} + m_TextViewport: {fileID: 1996252196} + m_TextComponent: {fileID: 1456525653} + m_Placeholder: {fileID: 474957380} + m_VerticalScrollbar: {fileID: 0} + m_VerticalScrollbarEventHandler: {fileID: 0} + m_LayoutGroup: {fileID: 0} + m_ScrollSensitivity: 1 + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_HideSoftKeyboard: 0 + m_CharacterValidation: 0 + m_RegexValue: + m_GlobalPointSize: 14 + m_CharacterLimit: 0 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_OnSubmit: + m_PersistentCalls: + m_Calls: [] + m_OnSelect: + m_PersistentCalls: + m_Calls: [] + m_OnDeselect: + m_PersistentCalls: + m_Calls: [] + m_OnTextSelection: + m_PersistentCalls: + m_Calls: [] + m_OnEndTextSelection: + m_PersistentCalls: + m_Calls: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_OnTouchScreenKeyboardStatusChanged: + m_PersistentCalls: + m_Calls: [] + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 + m_RichText: 1 + m_GlobalFontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_OnFocusSelectAll: 1 + m_ResetOnDeActivation: 1 + m_RestoreOriginalTextOnEscape: 1 + m_isRichTextEditingAllowed: 0 + m_LineLimit: 0 + m_InputValidator: {fileID: 0} +--- !u!114 &334368954 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 334368951} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, 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_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &334368955 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 334368951} + m_CullTransparentMesh: 1 +--- !u!1 &400228889 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 400228890} + - component: {fileID: 400228892} + - component: {fileID: 400228891} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &400228890 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 400228889} + 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_Children: [] + m_Father: {fileID: 951523240} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &400228891 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 400228889} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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: Execute Physics + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 16 + 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: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &400228892 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 400228889} + m_CullTransparentMesh: 1 +--- !u!1 &436706231 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 436706232} + - component: {fileID: 436706234} + - component: {fileID: 436706233} + m_Layer: 5 + m_Name: DebugPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &436706232 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 436706231} + 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_Children: + - {fileID: 1452697941} + m_Father: {fileID: 642461293} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 723.6336, y: -425.03992} + m_SizeDelta: {x: 1344.067, y: 679.99} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &436706233 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 436706231} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.5254902} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Texture: {fileID: 0} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!222 &436706234 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 436706231} + m_CullTransparentMesh: 1 +--- !u!1 &474957377 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 474957378} + - component: {fileID: 474957381} + - component: {fileID: 474957380} + - component: {fileID: 474957379} + m_Layer: 5 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &474957378 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 474957377} + 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_Children: [] + m_Father: {fileID: 1996252196} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &474957379 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 474957377} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &474957380 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 474957377} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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: Enter your join code... + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 2150773298 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5} + 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: 16 + m_fontSizeBase: 16 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 2 + m_HorizontalAlignment: 1 + 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: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 1 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &474957381 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 474957377} + m_CullTransparentMesh: 1 +--- !u!1 &518499865 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 518499867} + - component: {fileID: 518499866} + m_Layer: 0 + m_Name: NetworkObjectPool + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &518499866 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 518499865} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8902eab8073d6444497d7efd654bd811, type: 3} + m_Name: + m_EditorClassIdentifier: + m_NetworkManager: {fileID: 626551820} + PooledPrefabsList: + - Prefab: {fileID: 681957988237654865, guid: 75d0befe4694a2e4bb9c295cee04f949, type: 3} + PrewarmCount: 1000 +--- !u!4 &518499867 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 518499865} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &626551817 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 626551818} + - component: {fileID: 626551820} + - component: {fileID: 626551819} + - component: {fileID: 626551821} + m_Layer: 0 + m_Name: NetworkManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &626551818 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 626551817} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &626551819 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 626551817} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6960e84d07fb87f47956e7a81d71c4e6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ProtocolType: 1 + m_MaximumPacketSize: 1400 + m_MaxPacketQueueSize: 128 + m_SendQueueBatchSize: 6144 + m_HeartbeatTimeoutMS: 500 + m_ConnectTimeoutMS: 1000 + m_MaxConnectAttempts: 60 + m_DisconnectTimeoutMS: 30000 + ConnectionData: + Address: 127.0.0.1 + Port: 7777 +--- !u!114 &626551820 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 626551817} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 593a2fe42fa9d37498c96f9a383b6521, type: 3} + m_Name: + m_EditorClassIdentifier: + DontDestroy: 1 + RunInBackground: 1 + LogLevel: 1 + NetworkConfig: + ProtocolVersion: 0 + NetworkTransport: {fileID: 626551819} + PlayerPrefab: {fileID: 4228929212823577024, guid: ff4df86469842974e8177a159bc1be40, type: 3} + NetworkPrefabs: + - Override: 0 + Prefab: {fileID: 681957988237654865, guid: 75d0befe4694a2e4bb9c295cee04f949, type: 3} + SourcePrefabToOverride: {fileID: 0} + SourceHashToOverride: 0 + OverridingTargetPrefab: {fileID: 0} + TickRate: 30 + ClientConnectionBufferTimeout: 10 + ConnectionApproval: 0 + ConnectionData: + EnableTimeResync: 0 + TimeResyncInterval: 30 + EnsureNetworkVariableLengthSafety: 0 + EnableSceneManagement: 1 + ForceSamePrefabs: 1 + RecycleNetworkIds: 1 + NetworkIdRecycleDelay: 120 + RpcHashSize: 0 + LoadSceneTimeOut: 120 + MessageBufferTimeout: 20 + EnableNetworkLogs: 1 +--- !u!114 &626551821 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 626551817} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 499135c78ad359c4ca3c3c6e966d6057, type: 3} + m_Name: + m_EditorClassIdentifier: + environment: production + maxNumberOfConnections: 10 +--- !u!1 &642461289 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 642461293} + - component: {fileID: 642461292} + - component: {fileID: 642461291} + - component: {fileID: 642461290} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &642461290 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 642461289} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &642461291 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 642461289} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 0.65 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 2 + m_MatchWidthOrHeight: 0.71 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &642461292 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 642461289} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &642461293 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 642461289} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 436706232} + - {fileID: 189727564} + - {fileID: 209909300} + - {fileID: 807034474} + - {fileID: 838573565} + - {fileID: 951523240} + - {fileID: 334368952} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &705507993 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 705507995} + - component: {fileID: 705507994} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &705507994 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 1 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &705507995 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &718019740 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 718019741} + - component: {fileID: 718019743} + - component: {fileID: 718019742} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &718019741 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 718019740} + 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_Children: [] + m_Father: {fileID: 209909300} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &718019742 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 718019740} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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: Start Server + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 16 + 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: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &718019743 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 718019740} + m_CullTransparentMesh: 1 +--- !u!1001 &761733668 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 8345070699079395522, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 8345070699079395522, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8345070699079395522, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8345070699079395522, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8345070699079395522, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8345070699079395522, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8345070699079395522, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8345070699079395522, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8345070699079395522, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8345070699079395522, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8345070699079395522, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8345070699079395523, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_Name + value: Environment_Prefab + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} +--- !u!1 &807034473 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 807034474} + - component: {fileID: 807034477} + - component: {fileID: 807034476} + - component: {fileID: 807034475} + m_Layer: 5 + m_Name: StartHostButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &807034474 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 807034473} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1.3333334, y: 1.3333334, z: 1.3333334} + m_Children: + - {fileID: 11131545} + m_Father: {fileID: 642461293} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -1053, y: -124.90637} + m_SizeDelta: {x: 261.7666, y: 59.3558} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &807034475 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 807034473} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 807034476} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &807034476 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 807034473} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, 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_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &807034477 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 807034473} + m_CullTransparentMesh: 1 +--- !u!1 &838573564 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 838573565} + - component: {fileID: 838573568} + - component: {fileID: 838573567} + - component: {fileID: 838573566} + m_Layer: 5 + m_Name: StartClientButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &838573565 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 838573564} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1.3333334, y: 1.3333334, z: 1.3333334} + m_Children: + - {fileID: 83374808} + m_Father: {fileID: 642461293} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -302.51056, y: -238} + m_SizeDelta: {x: 261.7666, y: 59.3558} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &838573566 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 838573564} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 838573567} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &838573567 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 838573564} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, 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_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &838573568 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 838573564} + m_CullTransparentMesh: 1 +--- !u!1 &951523239 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 951523240} + - component: {fileID: 951523243} + - component: {fileID: 951523242} + - component: {fileID: 951523241} + m_Layer: 5 + m_Name: ExecutePhysicsButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &951523240 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 951523239} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1.333333, y: 1.333333, z: 1.333333} + m_Children: + - {fileID: 400228890} + m_Father: {fileID: 642461293} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -303.9, y: -350} + m_SizeDelta: {x: 261.7666, y: 59.355713} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &951523241 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 951523239} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 951523242} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &951523242 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 951523239} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, 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_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &951523243 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 951523239} + m_CullTransparentMesh: 1 +--- !u!1 &963194225 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 963194228} + - component: {fileID: 963194227} + - component: {fileID: 963194226} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &963194226 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 +--- !u!20 &963194227 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &963194228 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_LocalRotation: {x: -0.17982654, y: -0.16092074, z: 0.02983483, w: -0.9699881} + m_LocalPosition: {x: -4.510652, y: 8.076909, z: -9.683594} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1096450219 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1096450220} + - component: {fileID: 1096450221} + m_Layer: 0 + m_Name: UIManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1096450220 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1096450219} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1210.1039, y: 1052.4568, z: -20.020592} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1096450221 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1096450219} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e8aa13dc16e5f3c4fb92c6ecf43f05f5, type: 3} + m_Name: + m_EditorClassIdentifier: + startServerButton: {fileID: 209909301} + startHostButton: {fileID: 807034475} + startClientButton: {fileID: 838573566} + playersInGameText: {fileID: 189727566} + joinCodeInput: {fileID: 334368953} + executePhysicsButton: {fileID: 951523241} +--- !u!1 &1442138340 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1442138341} + - component: {fileID: 1442138342} + - component: {fileID: 1442138343} + m_Layer: 0 + m_Name: PlayersManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1442138341 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1442138340} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1210.1039, y: 1052.4568, z: -20.020592} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1442138342 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1442138340} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 036cb16c29696fe42b17492a82dc72f3, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1442138343 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1442138340} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} + m_Name: + m_EditorClassIdentifier: + GlobalObjectIdHash: 3119164366 + AlwaysReplicateAsRoot: 0 + DontDestroyWithOwner: 0 + AutoObjectParentSync: 1 +--- !u!1 &1452697940 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1452697941} + - component: {fileID: 1452697943} + - component: {fileID: 1452697942} + - component: {fileID: 1452697944} + m_Layer: 5 + m_Name: Debug + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1452697941 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1452697940} + 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_Children: [] + m_Father: {fileID: 436706232} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1452697942 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1452697940} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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: '[DEBUG AREA]' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, 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: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + 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: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1452697943 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1452697940} + m_CullTransparentMesh: 1 +--- !u!114 &1452697944 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1452697940} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: afe795d8491c12d4c8f693e3c27239e5, type: 3} + m_Name: + m_EditorClassIdentifier: + debugAreaText: {fileID: 1452697942} + enableDebug: 1 + maxLines: 15 +--- !u!1 &1456525651 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1456525652} + - component: {fileID: 1456525654} + - component: {fileID: 1456525653} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1456525652 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1456525651} + 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_Children: [] + m_Father: {fileID: 1996252196} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1456525653 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1456525651} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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: "\u200B" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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: 16 + m_fontSizeBase: 16 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + 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: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 1 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1456525654 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1456525651} + m_CullTransparentMesh: 1 +--- !u!1 &1728875722 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1728875725} + - component: {fileID: 1728875724} + - component: {fileID: 1728875723} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1728875723 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1728875722} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1728875724 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1728875722} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &1728875725 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1728875722} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1996252195 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1996252196} + - component: {fileID: 1996252197} + m_Layer: 5 + m_Name: Text Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1996252196 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1996252195} + 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_Children: + - {fileID: 474957378} + - {fileID: 1456525652} + m_Father: {fileID: 334368952} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -14, y: -4} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1996252197 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1996252195} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: {x: -8, y: -5, z: -8, w: -5} + m_Softness: {x: 0, y: 0} +--- !u!1 &2016632159 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2016632160} + - component: {fileID: 2016632162} + - component: {fileID: 2016632161} + m_Layer: 0 + m_Name: SpawnerControl + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2016632160 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2016632159} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2016632161 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2016632159} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b83f2a20242ef5b48a3601b202b7b4ab, type: 3} + m_Name: + m_EditorClassIdentifier: + objectPrefab: {fileID: 681957988237654865, guid: 75d0befe4694a2e4bb9c295cee04f949, type: 3} + maxObjectInstanceCount: 10 +--- !u!114 &2016632162 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2016632159} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} + m_Name: + m_EditorClassIdentifier: + GlobalObjectIdHash: 468115027 + AlwaysReplicateAsRoot: 0 + DontDestroyWithOwner: 0 + AutoObjectParentSync: 1 diff --git a/Assets/Scenes/BasicMultiplayerWithRelayClientBall.unity.meta b/Assets/Scenes/BasicMultiplayerWithRelayClientBall.unity.meta new file mode 100644 index 0000000..a666480 --- /dev/null +++ b/Assets/Scenes/BasicMultiplayerWithRelayClientBall.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e4f5ff7f42d980b4fb49a1fc969e8698 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/BasicMultiplayerWithRelayClientTransform.unity b/Assets/Scenes/BasicMultiplayerWithRelayClientTransform.unity new file mode 100644 index 0000000..9a0c493 --- /dev/null +++ b/Assets/Scenes/BasicMultiplayerWithRelayClientTransform.unity @@ -0,0 +1,2751 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 705507994} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &11131544 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 11131545} + - component: {fileID: 11131547} + - component: {fileID: 11131546} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &11131545 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 11131544} + 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_Children: [] + m_Father: {fileID: 807034474} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11131546 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 11131544} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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: Start Host + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 16 + 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: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &11131547 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 11131544} + m_CullTransparentMesh: 1 +--- !u!1 &83374807 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 83374808} + - component: {fileID: 83374810} + - component: {fileID: 83374809} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &83374808 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 83374807} + 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_Children: [] + m_Father: {fileID: 838573565} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &83374809 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 83374807} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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: Start Client + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 16 + 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: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &83374810 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 83374807} + m_CullTransparentMesh: 1 +--- !u!1 &189727563 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 189727564} + - component: {fileID: 189727567} + - component: {fileID: 189727566} + m_Layer: 5 + m_Name: PlayersInGameText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &189727564 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 189727563} + 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_Children: [] + m_Father: {fileID: 642461293} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -859.6677, y: -242} + m_SizeDelta: {x: 730.0734, y: 53.75} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &189727566 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 189727563} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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: '[network variable]' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4282335039 + m_fontColor: {r: 0.24528301, g: 0.24528301, b: 0.24528301, 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: 40 + m_fontSizeBase: 40 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 17 + m_HorizontalAlignment: 4 + 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: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &189727567 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 189727563} + m_CullTransparentMesh: 1 +--- !u!1 &209909299 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 209909300} + - component: {fileID: 209909303} + - component: {fileID: 209909302} + - component: {fileID: 209909301} + m_Layer: 5 + m_Name: StartServerButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &209909300 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 209909299} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1.3333334, y: 1.3333334, z: 1.3333334} + m_Children: + - {fileID: 718019741} + m_Father: {fileID: 642461293} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -676, y: -124.90637} + m_SizeDelta: {x: 261.7666, y: 59.3558} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &209909301 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 209909299} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 209909302} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &209909302 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 209909299} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, 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_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &209909303 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 209909299} + m_CullTransparentMesh: 1 +--- !u!1 &334368951 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 334368952} + - component: {fileID: 334368955} + - component: {fileID: 334368954} + - component: {fileID: 334368953} + m_Layer: 5 + m_Name: JoinCodeText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &334368952 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 334368951} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 2, z: 12} + m_Children: + - {fileID: 1996252196} + m_Father: {fileID: 642461293} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -305, y: -125} + m_SizeDelta: {x: 174.933, y: 41.0034} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &334368953 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 334368951} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2da0c512f12947e489f739169773d7ca, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 334368954} + m_TextViewport: {fileID: 1996252196} + m_TextComponent: {fileID: 1456525653} + m_Placeholder: {fileID: 474957380} + m_VerticalScrollbar: {fileID: 0} + m_VerticalScrollbarEventHandler: {fileID: 0} + m_LayoutGroup: {fileID: 0} + m_ScrollSensitivity: 1 + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_HideSoftKeyboard: 0 + m_CharacterValidation: 0 + m_RegexValue: + m_GlobalPointSize: 14 + m_CharacterLimit: 0 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_OnSubmit: + m_PersistentCalls: + m_Calls: [] + m_OnSelect: + m_PersistentCalls: + m_Calls: [] + m_OnDeselect: + m_PersistentCalls: + m_Calls: [] + m_OnTextSelection: + m_PersistentCalls: + m_Calls: [] + m_OnEndTextSelection: + m_PersistentCalls: + m_Calls: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_OnTouchScreenKeyboardStatusChanged: + m_PersistentCalls: + m_Calls: [] + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 + m_RichText: 1 + m_GlobalFontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_OnFocusSelectAll: 1 + m_ResetOnDeActivation: 1 + m_RestoreOriginalTextOnEscape: 1 + m_isRichTextEditingAllowed: 0 + m_LineLimit: 0 + m_InputValidator: {fileID: 0} +--- !u!114 &334368954 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 334368951} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, 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_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &334368955 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 334368951} + m_CullTransparentMesh: 1 +--- !u!1 &400228889 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 400228890} + - component: {fileID: 400228892} + - component: {fileID: 400228891} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &400228890 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 400228889} + 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_Children: [] + m_Father: {fileID: 951523240} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &400228891 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 400228889} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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: Execute Physics + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 16 + 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: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &400228892 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 400228889} + m_CullTransparentMesh: 1 +--- !u!1 &436706231 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 436706232} + - component: {fileID: 436706234} + - component: {fileID: 436706233} + m_Layer: 5 + m_Name: DebugPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &436706232 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 436706231} + 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_Children: + - {fileID: 1452697941} + m_Father: {fileID: 642461293} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 723.6336, y: -425.03992} + m_SizeDelta: {x: 1344.067, y: 679.99} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &436706233 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 436706231} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.5254902} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Texture: {fileID: 0} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!222 &436706234 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 436706231} + m_CullTransparentMesh: 1 +--- !u!1 &474957377 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 474957378} + - component: {fileID: 474957381} + - component: {fileID: 474957380} + - component: {fileID: 474957379} + m_Layer: 5 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &474957378 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 474957377} + 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_Children: [] + m_Father: {fileID: 1996252196} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &474957379 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 474957377} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &474957380 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 474957377} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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: Enter your join code... + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 2150773298 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5} + 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: 16 + m_fontSizeBase: 16 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 2 + m_HorizontalAlignment: 1 + 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: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 1 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &474957381 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 474957377} + m_CullTransparentMesh: 1 +--- !u!1 &518499865 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 518499867} + - component: {fileID: 518499866} + m_Layer: 0 + m_Name: NetworkObjectPool + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &518499866 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 518499865} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8902eab8073d6444497d7efd654bd811, type: 3} + m_Name: + m_EditorClassIdentifier: + m_NetworkManager: {fileID: 626551820} + PooledPrefabsList: + - Prefab: {fileID: 681957988237654865, guid: 75d0befe4694a2e4bb9c295cee04f949, type: 3} + PrewarmCount: 1000 +--- !u!4 &518499867 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 518499865} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &626551817 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 626551818} + - component: {fileID: 626551820} + - component: {fileID: 626551819} + - component: {fileID: 626551821} + m_Layer: 0 + m_Name: NetworkManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &626551818 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 626551817} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &626551819 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 626551817} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6960e84d07fb87f47956e7a81d71c4e6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ProtocolType: 1 + m_MaximumPacketSize: 1400 + m_MaxPacketQueueSize: 128 + m_SendQueueBatchSize: 6144 + m_HeartbeatTimeoutMS: 500 + m_ConnectTimeoutMS: 1000 + m_MaxConnectAttempts: 60 + m_DisconnectTimeoutMS: 30000 + ConnectionData: + Address: 127.0.0.1 + Port: 7777 +--- !u!114 &626551820 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 626551817} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 593a2fe42fa9d37498c96f9a383b6521, type: 3} + m_Name: + m_EditorClassIdentifier: + DontDestroy: 1 + RunInBackground: 1 + LogLevel: 1 + NetworkConfig: + ProtocolVersion: 0 + NetworkTransport: {fileID: 626551819} + PlayerPrefab: {fileID: 2255991852033553856, guid: 7527d4f93a64f4f4ebfef96d1d58d25d, type: 3} + NetworkPrefabs: + - Override: 0 + Prefab: {fileID: 681957988237654865, guid: 75d0befe4694a2e4bb9c295cee04f949, type: 3} + SourcePrefabToOverride: {fileID: 0} + SourceHashToOverride: 0 + OverridingTargetPrefab: {fileID: 0} + TickRate: 30 + ClientConnectionBufferTimeout: 10 + ConnectionApproval: 0 + ConnectionData: + EnableTimeResync: 0 + TimeResyncInterval: 30 + EnsureNetworkVariableLengthSafety: 0 + EnableSceneManagement: 1 + ForceSamePrefabs: 1 + RecycleNetworkIds: 1 + NetworkIdRecycleDelay: 120 + RpcHashSize: 0 + LoadSceneTimeOut: 120 + MessageBufferTimeout: 20 + EnableNetworkLogs: 1 +--- !u!114 &626551821 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 626551817} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 499135c78ad359c4ca3c3c6e966d6057, type: 3} + m_Name: + m_EditorClassIdentifier: + environment: production + maxNumberOfConnections: 10 +--- !u!1 &642461289 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 642461293} + - component: {fileID: 642461292} + - component: {fileID: 642461291} + - component: {fileID: 642461290} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &642461290 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 642461289} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &642461291 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 642461289} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 0.65 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 2 + m_MatchWidthOrHeight: 0.71 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &642461292 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 642461289} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &642461293 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 642461289} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 436706232} + - {fileID: 189727564} + - {fileID: 209909300} + - {fileID: 807034474} + - {fileID: 838573565} + - {fileID: 951523240} + - {fileID: 334368952} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &705507993 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 705507995} + - component: {fileID: 705507994} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &705507994 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 1 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &705507995 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &718019740 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 718019741} + - component: {fileID: 718019743} + - component: {fileID: 718019742} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &718019741 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 718019740} + 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_Children: [] + m_Father: {fileID: 209909300} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &718019742 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 718019740} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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: Start Server + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 16 + 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: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &718019743 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 718019740} + m_CullTransparentMesh: 1 +--- !u!1001 &761733668 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 8345070699079395522, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 8345070699079395522, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8345070699079395522, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8345070699079395522, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8345070699079395522, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8345070699079395522, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8345070699079395522, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8345070699079395522, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8345070699079395522, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8345070699079395522, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8345070699079395522, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8345070699079395523, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_Name + value: Environment_Prefab + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} +--- !u!1 &807034473 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 807034474} + - component: {fileID: 807034477} + - component: {fileID: 807034476} + - component: {fileID: 807034475} + m_Layer: 5 + m_Name: StartHostButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &807034474 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 807034473} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1.3333334, y: 1.3333334, z: 1.3333334} + m_Children: + - {fileID: 11131545} + m_Father: {fileID: 642461293} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -1053, y: -124.90637} + m_SizeDelta: {x: 261.7666, y: 59.3558} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &807034475 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 807034473} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 807034476} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &807034476 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 807034473} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, 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_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &807034477 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 807034473} + m_CullTransparentMesh: 1 +--- !u!1 &838573564 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 838573565} + - component: {fileID: 838573568} + - component: {fileID: 838573567} + - component: {fileID: 838573566} + m_Layer: 5 + m_Name: StartClientButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &838573565 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 838573564} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1.3333334, y: 1.3333334, z: 1.3333334} + m_Children: + - {fileID: 83374808} + m_Father: {fileID: 642461293} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -302.51056, y: -238} + m_SizeDelta: {x: 261.7666, y: 59.3558} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &838573566 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 838573564} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 838573567} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &838573567 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 838573564} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, 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_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &838573568 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 838573564} + m_CullTransparentMesh: 1 +--- !u!1 &951523239 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 951523240} + - component: {fileID: 951523243} + - component: {fileID: 951523242} + - component: {fileID: 951523241} + m_Layer: 5 + m_Name: ExecutePhysicsButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &951523240 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 951523239} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1.333333, y: 1.333333, z: 1.333333} + m_Children: + - {fileID: 400228890} + m_Father: {fileID: 642461293} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -303.9, y: -350} + m_SizeDelta: {x: 261.7666, y: 59.355713} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &951523241 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 951523239} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 951523242} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &951523242 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 951523239} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, 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_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &951523243 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 951523239} + m_CullTransparentMesh: 1 +--- !u!1 &963194225 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 963194228} + - component: {fileID: 963194227} + - component: {fileID: 963194226} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &963194226 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 +--- !u!20 &963194227 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &963194228 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_LocalRotation: {x: -0.17982654, y: -0.16092074, z: 0.02983483, w: -0.9699881} + m_LocalPosition: {x: -4.510652, y: 8.076909, z: -9.683594} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1096450219 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1096450220} + - component: {fileID: 1096450221} + m_Layer: 0 + m_Name: UIManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1096450220 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1096450219} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1210.1039, y: 1052.4568, z: -20.020592} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1096450221 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1096450219} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e8aa13dc16e5f3c4fb92c6ecf43f05f5, type: 3} + m_Name: + m_EditorClassIdentifier: + startServerButton: {fileID: 209909301} + startHostButton: {fileID: 807034475} + startClientButton: {fileID: 838573566} + playersInGameText: {fileID: 189727566} + joinCodeInput: {fileID: 334368953} + executePhysicsButton: {fileID: 951523241} +--- !u!1 &1442138340 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1442138341} + - component: {fileID: 1442138342} + - component: {fileID: 1442138343} + m_Layer: 0 + m_Name: PlayersManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1442138341 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1442138340} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1210.1039, y: 1052.4568, z: -20.020592} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1442138342 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1442138340} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 036cb16c29696fe42b17492a82dc72f3, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1442138343 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1442138340} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} + m_Name: + m_EditorClassIdentifier: + GlobalObjectIdHash: 1790168874 + AlwaysReplicateAsRoot: 0 + DontDestroyWithOwner: 0 + AutoObjectParentSync: 1 +--- !u!1 &1452697940 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1452697941} + - component: {fileID: 1452697943} + - component: {fileID: 1452697942} + - component: {fileID: 1452697944} + m_Layer: 5 + m_Name: Debug + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1452697941 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1452697940} + 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_Children: [] + m_Father: {fileID: 436706232} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1452697942 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1452697940} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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: '[DEBUG AREA]' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, 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: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + 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: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1452697943 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1452697940} + m_CullTransparentMesh: 1 +--- !u!114 &1452697944 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1452697940} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: afe795d8491c12d4c8f693e3c27239e5, type: 3} + m_Name: + m_EditorClassIdentifier: + debugAreaText: {fileID: 1452697942} + enableDebug: 1 + maxLines: 15 +--- !u!1 &1456525651 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1456525652} + - component: {fileID: 1456525654} + - component: {fileID: 1456525653} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1456525652 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1456525651} + 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_Children: [] + m_Father: {fileID: 1996252196} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1456525653 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1456525651} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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: "\u200B" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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: 16 + m_fontSizeBase: 16 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + 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: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 1 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1456525654 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1456525651} + m_CullTransparentMesh: 1 +--- !u!1 &1728875722 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1728875725} + - component: {fileID: 1728875724} + - component: {fileID: 1728875723} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1728875723 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1728875722} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1728875724 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1728875722} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &1728875725 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1728875722} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1996252195 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1996252196} + - component: {fileID: 1996252197} + m_Layer: 5 + m_Name: Text Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1996252196 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1996252195} + 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_Children: + - {fileID: 474957378} + - {fileID: 1456525652} + m_Father: {fileID: 334368952} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -14, y: -4} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1996252197 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1996252195} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: {x: -8, y: -5, z: -8, w: -5} + m_Softness: {x: 0, y: 0} +--- !u!1 &2016632159 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2016632160} + - component: {fileID: 2016632162} + - component: {fileID: 2016632161} + m_Layer: 0 + m_Name: SpawnerControl + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2016632160 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2016632159} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2016632161 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2016632159} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b83f2a20242ef5b48a3601b202b7b4ab, type: 3} + m_Name: + m_EditorClassIdentifier: + objectPrefab: {fileID: 681957988237654865, guid: 75d0befe4694a2e4bb9c295cee04f949, type: 3} + maxObjectInstanceCount: 10 +--- !u!114 &2016632162 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2016632159} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} + m_Name: + m_EditorClassIdentifier: + GlobalObjectIdHash: 3916839942 + AlwaysReplicateAsRoot: 0 + DontDestroyWithOwner: 0 + AutoObjectParentSync: 1 diff --git a/Assets/Scenes/BasicMultiplayerWithRelayClientTransform.unity.meta b/Assets/Scenes/BasicMultiplayerWithRelayClientTransform.unity.meta new file mode 100644 index 0000000..3d15b56 --- /dev/null +++ b/Assets/Scenes/BasicMultiplayerWithRelayClientTransform.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9e434950f749a694d8d7658ba37196e8 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/BasicMultiplayerWithRelayWithFollowCamera.unity b/Assets/Scenes/BasicMultiplayerWithRelayWithFollowCamera.unity new file mode 100644 index 0000000..9d78614 --- /dev/null +++ b/Assets/Scenes/BasicMultiplayerWithRelayWithFollowCamera.unity @@ -0,0 +1,2925 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 705507994} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &11131544 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 11131545} + - component: {fileID: 11131547} + - component: {fileID: 11131546} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &11131545 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 11131544} + 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_Children: [] + m_Father: {fileID: 807034474} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &11131546 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 11131544} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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: Start Host + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 16 + 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: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &11131547 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 11131544} + m_CullTransparentMesh: 1 +--- !u!1 &83374807 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 83374808} + - component: {fileID: 83374810} + - component: {fileID: 83374809} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &83374808 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 83374807} + 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_Children: [] + m_Father: {fileID: 838573565} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &83374809 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 83374807} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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: Start Client + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 16 + 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: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &83374810 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 83374807} + m_CullTransparentMesh: 1 +--- !u!1 &189727563 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 189727564} + - component: {fileID: 189727567} + - component: {fileID: 189727566} + m_Layer: 5 + m_Name: PlayersInGameText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &189727564 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 189727563} + 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_Children: [] + m_Father: {fileID: 642461293} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -859.6677, y: -242} + m_SizeDelta: {x: 730.0734, y: 53.75} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &189727566 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 189727563} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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: '[network variable]' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4282335039 + m_fontColor: {r: 0.24528301, g: 0.24528301, b: 0.24528301, 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: 40 + m_fontSizeBase: 40 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 17 + m_HorizontalAlignment: 4 + 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: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &189727567 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 189727563} + m_CullTransparentMesh: 1 +--- !u!1 &209909299 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 209909300} + - component: {fileID: 209909303} + - component: {fileID: 209909302} + - component: {fileID: 209909301} + m_Layer: 5 + m_Name: StartServerButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &209909300 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 209909299} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1.3333334, y: 1.3333334, z: 1.3333334} + m_Children: + - {fileID: 718019741} + m_Father: {fileID: 642461293} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -676, y: -124.90637} + m_SizeDelta: {x: 261.7666, y: 59.3558} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &209909301 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 209909299} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 209909302} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &209909302 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 209909299} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, 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_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &209909303 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 209909299} + m_CullTransparentMesh: 1 +--- !u!1 &334368951 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 334368952} + - component: {fileID: 334368955} + - component: {fileID: 334368954} + - component: {fileID: 334368953} + m_Layer: 5 + m_Name: JoinCodeText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &334368952 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 334368951} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 2, z: 12} + m_Children: + - {fileID: 1996252196} + m_Father: {fileID: 642461293} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -305, y: -125} + m_SizeDelta: {x: 174.933, y: 41.0034} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &334368953 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 334368951} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2da0c512f12947e489f739169773d7ca, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 334368954} + m_TextViewport: {fileID: 1996252196} + m_TextComponent: {fileID: 1456525653} + m_Placeholder: {fileID: 474957380} + m_VerticalScrollbar: {fileID: 0} + m_VerticalScrollbarEventHandler: {fileID: 0} + m_LayoutGroup: {fileID: 0} + m_ScrollSensitivity: 1 + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_HideSoftKeyboard: 0 + m_CharacterValidation: 0 + m_RegexValue: + m_GlobalPointSize: 14 + m_CharacterLimit: 0 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_OnSubmit: + m_PersistentCalls: + m_Calls: [] + m_OnSelect: + m_PersistentCalls: + m_Calls: [] + m_OnDeselect: + m_PersistentCalls: + m_Calls: [] + m_OnTextSelection: + m_PersistentCalls: + m_Calls: [] + m_OnEndTextSelection: + m_PersistentCalls: + m_Calls: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_OnTouchScreenKeyboardStatusChanged: + m_PersistentCalls: + m_Calls: [] + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 + m_RichText: 1 + m_GlobalFontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_OnFocusSelectAll: 1 + m_ResetOnDeActivation: 1 + m_RestoreOriginalTextOnEscape: 1 + m_isRichTextEditingAllowed: 0 + m_LineLimit: 0 + m_InputValidator: {fileID: 0} +--- !u!114 &334368954 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 334368951} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, 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_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &334368955 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 334368951} + m_CullTransparentMesh: 1 +--- !u!1 &400228889 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 400228890} + - component: {fileID: 400228892} + - component: {fileID: 400228891} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &400228890 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 400228889} + 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_Children: [] + m_Father: {fileID: 951523240} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &400228891 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 400228889} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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: Execute Physics + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 16 + 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: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &400228892 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 400228889} + m_CullTransparentMesh: 1 +--- !u!1 &436706231 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 436706232} + - component: {fileID: 436706234} + - component: {fileID: 436706233} + m_Layer: 5 + m_Name: DebugPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &436706232 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 436706231} + 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_Children: + - {fileID: 1452697941} + m_Father: {fileID: 642461293} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 723.6336, y: -425.03992} + m_SizeDelta: {x: 1344.067, y: 679.99} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &436706233 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 436706231} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.5254902} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Texture: {fileID: 0} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!222 &436706234 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 436706231} + m_CullTransparentMesh: 1 +--- !u!1 &474957377 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 474957378} + - component: {fileID: 474957381} + - component: {fileID: 474957380} + - component: {fileID: 474957379} + m_Layer: 5 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &474957378 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 474957377} + 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_Children: [] + m_Father: {fileID: 1996252196} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &474957379 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 474957377} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &474957380 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 474957377} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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: Enter your join code... + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 2150773298 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5} + 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: 16 + m_fontSizeBase: 16 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 2 + m_HorizontalAlignment: 1 + 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: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 1 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &474957381 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 474957377} + m_CullTransparentMesh: 1 +--- !u!1 &518499865 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 518499867} + - component: {fileID: 518499866} + m_Layer: 0 + m_Name: NetworkObjectPool + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &518499866 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 518499865} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8902eab8073d6444497d7efd654bd811, type: 3} + m_Name: + m_EditorClassIdentifier: + m_NetworkManager: {fileID: 626551820} + PooledPrefabsList: + - Prefab: {fileID: 681957988237654865, guid: 75d0befe4694a2e4bb9c295cee04f949, type: 3} + PrewarmCount: 1000 +--- !u!4 &518499867 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 518499865} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &626551817 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 626551818} + - component: {fileID: 626551820} + - component: {fileID: 626551819} + - component: {fileID: 626551821} + m_Layer: 0 + m_Name: NetworkManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &626551818 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 626551817} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &626551819 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 626551817} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6960e84d07fb87f47956e7a81d71c4e6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ProtocolType: 1 + m_MaximumPacketSize: 1400 + m_MaxPacketQueueSize: 128 + m_SendQueueBatchSize: 6144 + m_HeartbeatTimeoutMS: 500 + m_ConnectTimeoutMS: 1000 + m_MaxConnectAttempts: 60 + m_DisconnectTimeoutMS: 30000 + ConnectionData: + Address: 127.0.0.1 + Port: 7777 +--- !u!114 &626551820 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 626551817} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 593a2fe42fa9d37498c96f9a383b6521, type: 3} + m_Name: + m_EditorClassIdentifier: + DontDestroy: 1 + RunInBackground: 1 + LogLevel: 1 + NetworkConfig: + ProtocolVersion: 0 + NetworkTransport: {fileID: 626551819} + PlayerPrefab: {fileID: 2255991852033553856, guid: 7527d4f93a64f4f4ebfef96d1d58d25d, type: 3} + NetworkPrefabs: + - Override: 0 + Prefab: {fileID: 681957988237654865, guid: 75d0befe4694a2e4bb9c295cee04f949, type: 3} + SourcePrefabToOverride: {fileID: 0} + SourceHashToOverride: 0 + OverridingTargetPrefab: {fileID: 0} + TickRate: 30 + ClientConnectionBufferTimeout: 10 + ConnectionApproval: 0 + ConnectionData: + EnableTimeResync: 0 + TimeResyncInterval: 30 + EnsureNetworkVariableLengthSafety: 0 + EnableSceneManagement: 1 + ForceSamePrefabs: 1 + RecycleNetworkIds: 1 + NetworkIdRecycleDelay: 120 + RpcHashSize: 0 + LoadSceneTimeOut: 120 + MessageBufferTimeout: 20 + EnableNetworkLogs: 1 +--- !u!114 &626551821 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 626551817} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 499135c78ad359c4ca3c3c6e966d6057, type: 3} + m_Name: + m_EditorClassIdentifier: + environment: production + maxNumberOfConnections: 10 +--- !u!1 &642461289 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 642461293} + - component: {fileID: 642461292} + - component: {fileID: 642461291} + - component: {fileID: 642461290} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &642461290 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 642461289} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &642461291 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 642461289} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 0.65 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 2 + m_MatchWidthOrHeight: 0.71 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &642461292 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 642461289} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &642461293 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 642461289} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 436706232} + - {fileID: 189727564} + - {fileID: 209909300} + - {fileID: 807034474} + - {fileID: 838573565} + - {fileID: 951523240} + - {fileID: 334368952} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &705507993 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 705507995} + - component: {fileID: 705507994} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &705507994 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 1 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &705507995 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &718019740 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 718019741} + - component: {fileID: 718019743} + - component: {fileID: 718019742} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &718019741 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 718019740} + 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_Children: [] + m_Father: {fileID: 209909300} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &718019742 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 718019740} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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: Start Server + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 16 + 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: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &718019743 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 718019740} + m_CullTransparentMesh: 1 +--- !u!1001 &761733668 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 8345070699079395522, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 8345070699079395522, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8345070699079395522, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8345070699079395522, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8345070699079395522, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8345070699079395522, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8345070699079395522, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8345070699079395522, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8345070699079395522, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8345070699079395522, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8345070699079395522, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8345070699079395523, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} + propertyPath: m_Name + value: Environment_Prefab + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 09aade0ecefd01e4b8f7661acf64f5c2, type: 3} +--- !u!1 &807034473 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 807034474} + - component: {fileID: 807034477} + - component: {fileID: 807034476} + - component: {fileID: 807034475} + m_Layer: 5 + m_Name: StartHostButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &807034474 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 807034473} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1.3333334, y: 1.3333334, z: 1.3333334} + m_Children: + - {fileID: 11131545} + m_Father: {fileID: 642461293} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -1053, y: -124.90637} + m_SizeDelta: {x: 261.7666, y: 59.3558} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &807034475 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 807034473} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 807034476} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &807034476 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 807034473} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, 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_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &807034477 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 807034473} + m_CullTransparentMesh: 1 +--- !u!1 &838573564 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 838573565} + - component: {fileID: 838573568} + - component: {fileID: 838573567} + - component: {fileID: 838573566} + m_Layer: 5 + m_Name: StartClientButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &838573565 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 838573564} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1.3333334, y: 1.3333334, z: 1.3333334} + m_Children: + - {fileID: 83374808} + m_Father: {fileID: 642461293} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -302.51056, y: -238} + m_SizeDelta: {x: 261.7666, y: 59.3558} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &838573566 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 838573564} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 838573567} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &838573567 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 838573564} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, 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_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &838573568 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 838573564} + m_CullTransparentMesh: 1 +--- !u!1 &951523239 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 951523240} + - component: {fileID: 951523243} + - component: {fileID: 951523242} + - component: {fileID: 951523241} + m_Layer: 5 + m_Name: ExecutePhysicsButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &951523240 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 951523239} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1.333333, y: 1.333333, z: 1.333333} + m_Children: + - {fileID: 400228890} + m_Father: {fileID: 642461293} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -303.9, y: -350} + m_SizeDelta: {x: 261.7666, y: 59.355713} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &951523241 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 951523239} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 951523242} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &951523242 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 951523239} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, 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_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &951523243 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 951523239} + m_CullTransparentMesh: 1 +--- !u!1 &963194225 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 963194228} + - component: {fileID: 963194227} + - component: {fileID: 963194226} + - component: {fileID: 963194229} + - component: {fileID: 963194230} + - component: {fileID: 963194231} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &963194226 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 +--- !u!20 &963194227 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 40 + orthographic: 0 + orthographic size: 10 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &963194228 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_LocalRotation: {x: -0.17982654, y: -0.16092074, z: 0.02983483, w: -0.9699881} + m_LocalPosition: {x: -4.510652, y: 8.076909, z: -9.683594} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1778455030} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &963194229 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 0 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_BlendUpdateMethod: 1 + m_DefaultBlend: + m_Style: 1 + m_Time: 2 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &963194230 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + ModeOverride: 0 + LensShift: {x: 0, y: 0} + GateFit: 2 + m_SensorSize: {x: 1.9872695, y: 1} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 1778455030} +--- !u!114 &963194231 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: caf5fbe3b146646488dbe76b584fe783, type: 3} + m_Name: + m_EditorClassIdentifier: + amplitudeGain: 0.5 + frequencyGain: 0.5 +--- !u!1 &1096450219 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1096450220} + - component: {fileID: 1096450221} + m_Layer: 0 + m_Name: UIManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1096450220 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1096450219} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1210.1039, y: 1052.4568, z: -20.020592} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1096450221 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1096450219} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e8aa13dc16e5f3c4fb92c6ecf43f05f5, type: 3} + m_Name: + m_EditorClassIdentifier: + startServerButton: {fileID: 209909301} + startHostButton: {fileID: 807034475} + startClientButton: {fileID: 838573566} + playersInGameText: {fileID: 189727566} + joinCodeInput: {fileID: 334368953} + executePhysicsButton: {fileID: 951523241} +--- !u!1 &1442138340 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1442138341} + - component: {fileID: 1442138342} + - component: {fileID: 1442138343} + m_Layer: 0 + m_Name: PlayersManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1442138341 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1442138340} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1210.1039, y: 1052.4568, z: -20.020592} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1442138342 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1442138340} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 036cb16c29696fe42b17492a82dc72f3, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1442138343 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1442138340} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} + m_Name: + m_EditorClassIdentifier: + GlobalObjectIdHash: 3933544137 + AlwaysReplicateAsRoot: 0 + DontDestroyWithOwner: 0 + AutoObjectParentSync: 1 +--- !u!1 &1452697940 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1452697941} + - component: {fileID: 1452697943} + - component: {fileID: 1452697942} + - component: {fileID: 1452697944} + m_Layer: 5 + m_Name: Debug + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1452697941 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1452697940} + 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_Children: [] + m_Father: {fileID: 436706232} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1452697942 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1452697940} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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: '[DEBUG AREA]' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, 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: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + 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: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1452697943 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1452697940} + m_CullTransparentMesh: 1 +--- !u!114 &1452697944 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1452697940} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: afe795d8491c12d4c8f693e3c27239e5, type: 3} + m_Name: + m_EditorClassIdentifier: + debugAreaText: {fileID: 1452697942} + enableDebug: 1 + maxLines: 15 +--- !u!1 &1456525651 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1456525652} + - component: {fileID: 1456525654} + - component: {fileID: 1456525653} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1456525652 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1456525651} + 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_Children: [] + m_Father: {fileID: 1996252196} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1456525653 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1456525651} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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: "\u200B" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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: 16 + m_fontSizeBase: 16 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + 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: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 1 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1456525654 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1456525651} + m_CullTransparentMesh: 1 +--- !u!1 &1728875722 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1728875725} + - component: {fileID: 1728875724} + - component: {fileID: 1728875723} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1728875723 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1728875722} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1728875724 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1728875722} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &1728875725 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1728875722} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1778455029 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1778455030} + - component: {fileID: 1778455031} + - component: {fileID: 1778455032} + - component: {fileID: 1778455033} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1778455030 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1778455029} + m_LocalRotation: {x: 0.17982654, y: 0.16092074, z: -0.02983483, w: -0.9699881} + m_LocalPosition: {x: 1.1420829, y: -3.7327983, z: 12.810788} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 963194228} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1778455031 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1778455029} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1778455032 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1778455029} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bd6043bde05a7fc4cba197d06915c1e3, type: 3} + m_Name: + m_EditorClassIdentifier: + Damping: {x: 0.1, y: 0.5, z: 0.3} + ShoulderOffset: {x: 0.5, y: -0.4, z: 0} + VerticalArmLength: 0.4 + CameraSide: 1 + CameraDistance: 4 + CameraCollisionFilter: + serializedVersion: 2 + m_Bits: 0 + IgnoreTag: + CameraRadius: 0.2 +--- !u!114 &1778455033 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1778455029} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68bb026fafb42b14791938953eaace77, type: 3} + m_Name: + m_EditorClassIdentifier: + m_NoiseProfile: {fileID: 11400000, guid: 46965f9cbaf525742a6da4c2172a99cd, type: 2} + m_PivotOffset: {x: 0, y: 0, z: 0} + m_AmplitudeGain: 0 + m_FrequencyGain: 0 + mNoiseOffsets: {x: 0, y: 0, z: 0} +--- !u!1 &1996252195 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1996252196} + - component: {fileID: 1996252197} + m_Layer: 5 + m_Name: Text Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1996252196 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1996252195} + 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_Children: + - {fileID: 474957378} + - {fileID: 1456525652} + m_Father: {fileID: 334368952} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -14, y: -4} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1996252197 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1996252195} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: {x: -8, y: -5, z: -8, w: -5} + m_Softness: {x: 0, y: 0} +--- !u!1 &2016632159 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2016632160} + - component: {fileID: 2016632162} + - component: {fileID: 2016632161} + m_Layer: 0 + m_Name: SpawnerControl + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2016632160 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2016632159} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2016632161 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2016632159} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b83f2a20242ef5b48a3601b202b7b4ab, type: 3} + m_Name: + m_EditorClassIdentifier: + objectPrefab: {fileID: 681957988237654865, guid: 75d0befe4694a2e4bb9c295cee04f949, type: 3} + maxObjectInstanceCount: 10 +--- !u!114 &2016632162 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2016632159} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} + m_Name: + m_EditorClassIdentifier: + GlobalObjectIdHash: 3554922056 + AlwaysReplicateAsRoot: 0 + DontDestroyWithOwner: 0 + AutoObjectParentSync: 1 diff --git a/Assets/Scenes/BasicMultiplayerWithRelayWithFollowCamera.unity.meta b/Assets/Scenes/BasicMultiplayerWithRelayWithFollowCamera.unity.meta new file mode 100644 index 0000000..4551d8f --- /dev/null +++ b/Assets/Scenes/BasicMultiplayerWithRelayWithFollowCamera.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 970daee330a758243b2cfb0165333b02 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerBallControl.cs b/Assets/Scripts/PlayerBallControl.cs new file mode 100644 index 0000000..b4fdf76 --- /dev/null +++ b/Assets/Scripts/PlayerBallControl.cs @@ -0,0 +1,57 @@ +using Unity.Netcode; +using Unity.Netcode.Samples; +using UnityEngine; + +[RequireComponent(typeof(NetworkObject))] +[RequireComponent(typeof(ClientNetworkTransform))] +public class PlayerBallControl : NetworkBehaviour +{ + [SerializeField] + private float speed = 3.5f; + + [SerializeField] + private float flySpeed = 3.5f; + + [SerializeField] + private float rotationSpeed = 3.5f; + + [SerializeField] + private Vector2 defaultInitialPositionOnPlane = new Vector2(-4, 4); + + private Rigidbody ballRigidBody; + + void Awake() + { + ballRigidBody = GetComponent(); + } + + void Start() + { + if (IsClient && IsOwner) + { + transform.position = new Vector3(Random.Range(defaultInitialPositionOnPlane.x, defaultInitialPositionOnPlane.y), 0, + Random.Range(defaultInitialPositionOnPlane.x, defaultInitialPositionOnPlane.y)); + } + } + + void Update() + { + if (IsClient && IsOwner) + { + ClientInput(); + } + } + + private void ClientInput() + { + float horizontal = Input.GetAxis("Horizontal"); + float vertical = Input.GetAxis("Vertical"); + + if (vertical > 0 || vertical < 0) + ballRigidBody.AddForce(vertical > 0 ? Vector3.forward * speed : Vector3.back * speed); + if (horizontal > 0 || horizontal < 0) + ballRigidBody.AddForce(horizontal > 0 ? Vector3.right * speed : Vector3.left * speed); + if (Input.GetKey(KeyCode.Space)) + ballRigidBody.AddForce(Vector3.up * flySpeed); + } +} diff --git a/Assets/Scripts/PlayerBallControl.cs.meta b/Assets/Scripts/PlayerBallControl.cs.meta new file mode 100644 index 0000000..d669e5a --- /dev/null +++ b/Assets/Scripts/PlayerBallControl.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f6527cc6ed4db3445a7be7ea479c0246 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerCameraFollow.cs b/Assets/Scripts/PlayerCameraFollow.cs new file mode 100644 index 0000000..16d6887 --- /dev/null +++ b/Assets/Scripts/PlayerCameraFollow.cs @@ -0,0 +1,28 @@ +using Cinemachine; +using DilmerGames.Core.Singletons; +using UnityEngine; + +public class PlayerCameraFollow : Singleton +{ + [SerializeField] + private float amplitudeGain = 0.5f; + + [SerializeField] + private float frequencyGain = 0.5f; + + private CinemachineVirtualCamera cinemachineVirtualCamera; + + private void Awake() + { + cinemachineVirtualCamera = GetComponent(); + } + + public void FollowPlayer(Transform transform) + { + cinemachineVirtualCamera.Follow = transform; + + var perlin = cinemachineVirtualCamera.GetCinemachineComponent(); + perlin.m_AmplitudeGain = amplitudeGain; + perlin.m_FrequencyGain = frequencyGain; + } +} diff --git a/Assets/Scripts/PlayerCameraFollow.cs.meta b/Assets/Scripts/PlayerCameraFollow.cs.meta new file mode 100644 index 0000000..9e4d38f --- /dev/null +++ b/Assets/Scripts/PlayerCameraFollow.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: caf5fbe3b146646488dbe76b584fe783 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerControlAuthorative.cs b/Assets/Scripts/PlayerControlAuthorative.cs new file mode 100644 index 0000000..0d20119 --- /dev/null +++ b/Assets/Scripts/PlayerControlAuthorative.cs @@ -0,0 +1,119 @@ +using Unity.Netcode; +using Unity.Netcode.Samples; +using UnityEngine; + +[RequireComponent(typeof(NetworkObject))] +[RequireComponent(typeof(ClientNetworkTransform))] +public class PlayerControlAuthorative : NetworkBehaviour +{ + public enum PlayerState + { + Idle, + Walk, + Run, + ReverseWalk, + } + + [SerializeField] + private float speed = 3.5f; + + [SerializeField] + private float rotationSpeed = 3.5f; + + [SerializeField] + private Vector2 defaultInitialPositionOnPlane = new Vector2(-4, 4); + + [SerializeField] + private NetworkVariable networkPlayerState = new NetworkVariable(); + + private CharacterController characterController; + + private Animator animator; + + private void Awake() + { + characterController = GetComponent(); + animator = GetComponent(); + } + + void Start() + { + if (IsClient && IsOwner) + { + transform.position = new Vector3(Random.Range(defaultInitialPositionOnPlane.x, defaultInitialPositionOnPlane.y), 0, + Random.Range(defaultInitialPositionOnPlane.x, defaultInitialPositionOnPlane.y)); + PlayerCameraFollow.Instance.FollowPlayer(transform.Find("PlayerCameraRoot")); + } + } + + void Update() + { + if (IsClient && IsOwner) + { + ClientInput(); + } + + ClientVisuals(); + } + + + private void ClientVisuals() + { + if (networkPlayerState.Value == PlayerState.Walk) + { + animator.SetFloat("Walk", 1); + } + else if (networkPlayerState.Value == PlayerState.Run) + { + animator.SetFloat("Walk", 2); + } + else if (networkPlayerState.Value == PlayerState.ReverseWalk) + { + animator.SetFloat("Walk", -1); + } + else + { + animator.SetFloat("Walk", 0); + } + } + + private void ClientInput() + { + // y axis client rotation + Vector3 inputRotation = new Vector3(0, Input.GetAxis("Horizontal"), 0); + + // forward & backward direction + Vector3 direction = transform.TransformDirection(Vector3.forward); + float forwardInput = Input.GetAxis("Vertical"); + if (Input.GetKey(KeyCode.LeftShift) && forwardInput > 0) forwardInput = 2; + + Vector3 inputPosition = direction * forwardInput; + + // client is responsible for moving itself + characterController.SimpleMove(inputPosition * speed); + transform.Rotate(inputRotation * rotationSpeed, Space.World); + + if (forwardInput > 0 && forwardInput <= 1) + { + UpdatePlayerStateServerRpc(PlayerState.Walk); + } + else if (forwardInput > 1) + { + UpdatePlayerStateServerRpc(PlayerState.Run); + } + else if (forwardInput < 0) + { + UpdatePlayerStateServerRpc(PlayerState.ReverseWalk); + } + else + { + UpdatePlayerStateServerRpc(PlayerState.Idle); + } + } + + [ServerRpc] + public void UpdatePlayerStateServerRpc(PlayerState state) + { + networkPlayerState.Value = state; + } +} diff --git a/Assets/Scripts/PlayerControlAuthorative.cs.meta b/Assets/Scripts/PlayerControlAuthorative.cs.meta new file mode 100644 index 0000000..3215ea5 --- /dev/null +++ b/Assets/Scripts/PlayerControlAuthorative.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 82d02a395452c4f44b6f87d460322c56 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset index 32165e1..482ab85 100644 --- a/ProjectSettings/EditorBuildSettings.asset +++ b/ProjectSettings/EditorBuildSettings.asset @@ -8,7 +8,16 @@ EditorBuildSettings: - enabled: 0 path: Assets/Scenes/BasicMultiplayer.unity guid: 9fc0d4010bbf28b4594072e72b8655ab - - enabled: 1 + - enabled: 0 path: Assets/Scenes/BasicMultiplayerWithRelay.unity guid: dd16c880a7f752347ba6d6f1c0e7a79e + - enabled: 0 + path: Assets/Scenes/BasicMultiplayerWithRelayClientTransform.unity + guid: 9e434950f749a694d8d7658ba37196e8 + - enabled: 0 + path: Assets/Scenes/BasicMultiplayerWithRelayClientBall.unity + guid: e4f5ff7f42d980b4fb49a1fc969e8698 + - enabled: 1 + path: Assets/Scenes/BasicMultiplayerWithRelayWithFollowCamera.unity + guid: 970daee330a758243b2cfb0165333b02 m_configObjects: {} diff --git a/UserSettings/EditorUserSettings.asset b/UserSettings/EditorUserSettings.asset index 0fc776c..2fc40c0 100644 --- a/UserSettings/EditorUserSettings.asset +++ b/UserSettings/EditorUserSettings.asset @@ -14,6 +14,15 @@ EditorUserSettings: RecentlyUsedScenePath-2: value: 22424703114646680e0b0227036c7d11051e1b07392432393d251c2ae7f20331f6ef04eceb3b26722c0ce6281d flags: 0 + RecentlyUsedScenePath-3: + value: 22424703114646680e0b0227036c7d11051e1b07392432393d251c2ae7f20331f6ef04eceb3b261f350bea32100a133efc190f04e406441e1f07e917 + flags: 0 + RecentlyUsedScenePath-4: + value: 22424703114646680e0b0227036c7d11051e1b07392432393d251c2ae7f20331f6ef04eceb3b261f350bea32101c0033fe441c05ff1f13 + flags: 0 + RecentlyUsedScenePath-5: + value: 22424703114646680e0b0227036c7d11051e1b07392432393d251c2ae7f20331f6ef04eceb3b260b3016e71a0b320d30e5290806f3190b450400f41a08 + flags: 0 vcSharedLogLevel: value: 0d5e400f0650 flags: 0 From 5308a7ab3a3297a9ce9a06c64c221fb8ef4c8b0e Mon Sep 17 00:00:00 2001 From: Dilmer Valecillos Date: Sat, 27 Nov 2021 15:51:31 -0700 Subject: [PATCH 07/14] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3d6dc27..9191ba7 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,7 @@ YouTube tutorials in Chronogical order / features: * [How To Make A Game With Unity Multiplayer Netcode | Player Controller Part 2 And Network Animations](https://youtu.be/GOtE96OKyVA) * [How To Make A Game With Unity Multiplayer Netcode | Network Physics And Network Object Pooling](https://youtu.be/DfUUyEWUhwQ) * [How To Make A Game With Unity Multiplayer Netcode | Relay Service Setup](https://youtu.be/82Lbho7S0OA) +* [How To Make A Game With Unity Multiplayer Netcode | Client Network Transform & 3rd Person Camera](https://youtu.be/49mnzY-MpLw) * How To Make A Game With Unity Multiplayer Netcode | ClientRpc And ServerRpc Take a look at [Unity official docs](https://docs-multiplayer.unity3d.com/docs/learn/dilmer/dilmer-video) as well with the videos above also included. From 849f3cd4fd6f33dd77fc09a6c5039bc2d49ead80 Mon Sep 17 00:00:00 2001 From: Dilmer Valecillos Date: Sat, 27 Nov 2021 20:27:37 -0700 Subject: [PATCH 08/14] Removed NetworkTransform based on feedback from a user since we no longer need it when sending vectors for position / rotation with NetworkVariables --- Assets/Prefabs/PlayerArmatureNetwork.prefab | 28 --------------------- UserSettings/EditorUserSettings.asset | 8 +++--- 2 files changed, 4 insertions(+), 32 deletions(-) diff --git a/Assets/Prefabs/PlayerArmatureNetwork.prefab b/Assets/Prefabs/PlayerArmatureNetwork.prefab index 514f75b..64cf10a 100644 --- a/Assets/Prefabs/PlayerArmatureNetwork.prefab +++ b/Assets/Prefabs/PlayerArmatureNetwork.prefab @@ -671,7 +671,6 @@ GameObject: - component: {fileID: 4820286304567637248} - component: {fileID: 2255991852033553866} - component: {fileID: 8782944162090155111} - - component: {fileID: 4520276473947658121} - component: {fileID: 6524640165081047080} - component: {fileID: 3744294913487860803} - component: {fileID: 6174784278528370158} @@ -753,33 +752,6 @@ MonoBehaviour: AlwaysReplicateAsRoot: 0 DontDestroyWithOwner: 0 AutoObjectParentSync: 1 ---- !u!114 &4520276473947658121 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2255991852033553856} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e96cb6065543e43c4a752faaa1468eb1, type: 3} - m_Name: - m_EditorClassIdentifier: - SyncPositionX: 1 - SyncPositionY: 1 - SyncPositionZ: 1 - SyncRotAngleX: 1 - SyncRotAngleY: 1 - SyncRotAngleZ: 1 - SyncScaleX: 0 - SyncScaleY: 0 - SyncScaleZ: 0 - PositionThreshold: 0.001 - RotAngleThreshold: 0.01 - ScaleThreshold: 0.01 - InLocalSpace: 0 - Interpolate: 1 - CanCommitToTransform: 0 --- !u!114 &6524640165081047080 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/UserSettings/EditorUserSettings.asset b/UserSettings/EditorUserSettings.asset index 2fc40c0..9aed7e2 100644 --- a/UserSettings/EditorUserSettings.asset +++ b/UserSettings/EditorUserSettings.asset @@ -12,16 +12,16 @@ EditorUserSettings: value: 22424703114646680e0b0227036c7d11051e1b07392432393d251c2ae7f27a2decee22f0 flags: 0 RecentlyUsedScenePath-2: - value: 22424703114646680e0b0227036c7d11051e1b07392432393d251c2ae7f20331f6ef04eceb3b26722c0ce6281d + value: 22424703114646680e0b0227036c7d11051e1b07392432393d251c2ae7f20331f6ef04eceb3b261f350bea32100a133efc190f04e406441e1f07e917 flags: 0 RecentlyUsedScenePath-3: - value: 22424703114646680e0b0227036c7d11051e1b07392432393d251c2ae7f20331f6ef04eceb3b261f350bea32100a133efc190f04e406441e1f07e917 + value: 22424703114646680e0b0227036c7d11051e1b07392432393d251c2ae7f20331f6ef04eceb3b261f350bea32101c0033fe441c05ff1f13 flags: 0 RecentlyUsedScenePath-4: - value: 22424703114646680e0b0227036c7d11051e1b07392432393d251c2ae7f20331f6ef04eceb3b261f350bea32101c0033fe441c05ff1f13 + value: 22424703114646680e0b0227036c7d11051e1b07392432393d251c2ae7f20331f6ef04eceb3b260b3016e71a0b320d30e5290806f3190b450400f41a08 flags: 0 RecentlyUsedScenePath-5: - value: 22424703114646680e0b0227036c7d11051e1b07392432393d251c2ae7f20331f6ef04eceb3b260b3016e71a0b320d30e5290806f3190b450400f41a08 + value: 22424703114646680e0b0227036c7d11051e1b07392432393d251c2ae7f20331f6ef04eceb3b26722c0ce6281d flags: 0 vcSharedLogLevel: value: 0d5e400f0650 From b5402d16c84ddf2bd4c565f61395e73466d0eca9 Mon Sep 17 00:00:00 2001 From: Dilmer Valecillos Date: Sun, 28 Nov 2021 15:21:01 -0700 Subject: [PATCH 09/14] Improve changes of animation state, fixed issues with cinemachine requirement on player controller --- Assets/Animations/SimpleAnimator.controller | 142 ++++++++++-------- .../PlayerArmatureNetworkAuthorative.prefab | 3 +- Assets/Scripts/PlayerBallControl.cs | 3 - Assets/Scripts/PlayerCameraFollow.cs | 3 + Assets/Scripts/PlayerControl.cs | 62 +++----- Assets/Scripts/PlayerControlAuthorative.cs | 58 +++---- Assets/Scripts/Shared/Enums.cs | 9 ++ Assets/Scripts/Shared/Enums.cs.meta | 11 ++ UserSettings/EditorUserSettings.asset | 8 +- 9 files changed, 153 insertions(+), 146 deletions(-) create mode 100644 Assets/Scripts/Shared/Enums.cs create mode 100644 Assets/Scripts/Shared/Enums.cs.meta diff --git a/Assets/Animations/SimpleAnimator.controller b/Assets/Animations/SimpleAnimator.controller index 6ecc0d4..6d7c1dd 100644 --- a/Assets/Animations/SimpleAnimator.controller +++ b/Assets/Animations/SimpleAnimator.controller @@ -8,7 +8,7 @@ AnimatorStateTransition: m_PrefabAsset: {fileID: 0} m_Name: m_Conditions: - - m_ConditionMode: 3 + - m_ConditionMode: 1 m_ConditionEvent: Walk m_EventTreshold: 0 m_DstStateMachine: {fileID: 0} @@ -17,12 +17,12 @@ AnimatorStateTransition: m_Mute: 0 m_IsExit: 0 serializedVersion: 3 - m_TransitionDuration: 0.25 + m_TransitionDuration: 0.05 m_TransitionOffset: 0 m_ExitTime: 0.9493243 m_HasExitTime: 0 m_HasFixedDuration: 1 - m_InterruptionSource: 0 + m_InterruptionSource: 2 m_OrderedInterruption: 1 m_CanTransitionToSelf: 1 --- !u!1101 &-6772914335347649258 @@ -33,21 +33,21 @@ AnimatorStateTransition: m_PrefabAsset: {fileID: 0} m_Name: m_Conditions: - - m_ConditionMode: 3 - m_ConditionEvent: Walk - m_EventTreshold: 1 + - m_ConditionMode: 1 + m_ConditionEvent: Run + m_EventTreshold: 0 m_DstStateMachine: {fileID: 0} m_DstState: {fileID: -1315417293333573470} m_Solo: 0 m_Mute: 0 m_IsExit: 0 serializedVersion: 3 - m_TransitionDuration: 0.25 + m_TransitionDuration: 0.05 m_TransitionOffset: 0 m_ExitTime: 0.9493243 m_HasExitTime: 0 m_HasFixedDuration: 1 - m_InterruptionSource: 0 + m_InterruptionSource: 2 m_OrderedInterruption: 1 m_CanTransitionToSelf: 1 --- !u!1107 &-6758177711055489493 @@ -61,16 +61,16 @@ AnimatorStateMachine: m_ChildStates: - serializedVersion: 1 m_State: {fileID: -5047679035389811114} - m_Position: {x: 240, y: 300, z: 0} + m_Position: {x: 220, y: 300, z: 0} - serializedVersion: 1 m_State: {fileID: 5243091673169977452} - m_Position: {x: 240, y: 60, z: 0} + m_Position: {x: 220, y: 50, z: 0} - serializedVersion: 1 m_State: {fileID: 7887362688843137504} - m_Position: {x: 590, y: 300, z: 0} + m_Position: {x: 620, y: 300, z: 0} - serializedVersion: 1 m_State: {fileID: -1315417293333573470} - m_Position: {x: 590, y: 50, z: 0} + m_Position: {x: 600, y: 50, z: 0} m_ChildStateMachines: [] m_AnyStateTransitions: [] m_EntryTransitions: [] @@ -89,8 +89,8 @@ AnimatorStateTransition: m_PrefabAsset: {fileID: 0} m_Name: m_Conditions: - - m_ConditionMode: 4 - m_ConditionEvent: Walk + - m_ConditionMode: 1 + m_ConditionEvent: ReverseWalk m_EventTreshold: 0 m_DstStateMachine: {fileID: 0} m_DstState: {fileID: 7887362688843137504} @@ -98,12 +98,12 @@ AnimatorStateTransition: m_Mute: 0 m_IsExit: 0 serializedVersion: 3 - m_TransitionDuration: 0.25 + m_TransitionDuration: 0.05 m_TransitionOffset: 0 m_ExitTime: 0.9493243 m_HasExitTime: 0 m_HasFixedDuration: 1 - m_InterruptionSource: 0 + m_InterruptionSource: 2 m_OrderedInterruption: 1 m_CanTransitionToSelf: 1 --- !u!1101 &-6479015363524651998 @@ -138,7 +138,7 @@ AnimatorState: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: Walk_N + m_Name: Walk m_Speed: 1 m_CycleOffset: 0 m_Transitions: @@ -168,8 +168,8 @@ AnimatorStateTransition: m_PrefabAsset: {fileID: 0} m_Name: m_Conditions: - - m_ConditionMode: 4 - m_ConditionEvent: Walk + - m_ConditionMode: 1 + m_ConditionEvent: ReverseWalk m_EventTreshold: 0 m_DstStateMachine: {fileID: 0} m_DstState: {fileID: 7887362688843137504} @@ -177,12 +177,12 @@ AnimatorStateTransition: m_Mute: 0 m_IsExit: 0 serializedVersion: 3 - m_TransitionDuration: 0.25 + m_TransitionDuration: 0.05 m_TransitionOffset: 0 m_ExitTime: 0.7413793 m_HasExitTime: 0 m_HasFixedDuration: 1 - m_InterruptionSource: 0 + m_InterruptionSource: 2 m_OrderedInterruption: 1 m_CanTransitionToSelf: 1 --- !u!1101 &-4023601931672184507 @@ -193,8 +193,8 @@ AnimatorStateTransition: m_PrefabAsset: {fileID: 0} m_Name: m_Conditions: - - m_ConditionMode: 4 - m_ConditionEvent: Walk + - m_ConditionMode: 1 + m_ConditionEvent: Idle m_EventTreshold: 1 m_DstStateMachine: {fileID: 0} m_DstState: {fileID: 5243091673169977452} @@ -202,12 +202,12 @@ AnimatorStateTransition: m_Mute: 0 m_IsExit: 0 serializedVersion: 3 - m_TransitionDuration: 0.25 + m_TransitionDuration: 0.05 m_TransitionOffset: 0 m_ExitTime: 0.7413793 m_HasExitTime: 0 m_HasFixedDuration: 1 - m_InterruptionSource: 0 + m_InterruptionSource: 2 m_OrderedInterruption: 1 m_CanTransitionToSelf: 1 --- !u!1101 &-3851567709598973210 @@ -218,24 +218,21 @@ AnimatorStateTransition: m_PrefabAsset: {fileID: 0} m_Name: m_Conditions: - - m_ConditionMode: 4 - m_ConditionEvent: Walk + - m_ConditionMode: 1 + m_ConditionEvent: Idle m_EventTreshold: 1 - - m_ConditionMode: 3 - m_ConditionEvent: Walk - m_EventTreshold: -1 m_DstStateMachine: {fileID: 0} m_DstState: {fileID: 5243091673169977452} m_Solo: 0 m_Mute: 0 m_IsExit: 0 serializedVersion: 3 - m_TransitionDuration: 0.25 + m_TransitionDuration: 0.05 m_TransitionOffset: 0 m_ExitTime: 0.625 m_HasExitTime: 0 m_HasFixedDuration: 1 - m_InterruptionSource: 0 + m_InterruptionSource: 2 m_OrderedInterruption: 1 m_CanTransitionToSelf: 1 --- !u!1101 &-1433669293438928299 @@ -246,24 +243,21 @@ AnimatorStateTransition: m_PrefabAsset: {fileID: 0} m_Name: m_Conditions: - - m_ConditionMode: 4 + - m_ConditionMode: 1 m_ConditionEvent: Walk m_EventTreshold: 2 - - m_ConditionMode: 3 - m_ConditionEvent: Walk - m_EventTreshold: 0 m_DstStateMachine: {fileID: 0} m_DstState: {fileID: -5047679035389811114} m_Solo: 0 m_Mute: 0 m_IsExit: 0 serializedVersion: 3 - m_TransitionDuration: 0.25 + m_TransitionDuration: 0.05 m_TransitionOffset: 0 m_ExitTime: 0.625 m_HasExitTime: 0 m_HasFixedDuration: 1 - m_InterruptionSource: 0 + m_InterruptionSource: 2 m_OrderedInterruption: 1 m_CanTransitionToSelf: 1 --- !u!1102 &-1315417293333573470 @@ -305,11 +299,41 @@ AnimatorController: serializedVersion: 5 m_AnimatorParameters: - m_Name: Walk - m_Type: 1 + m_Type: 9 m_DefaultFloat: 0 m_DefaultInt: 0 m_DefaultBool: 0 - m_Controller: {fileID: 9100000} + m_Controller: {fileID: 0} + - m_Name: Run + m_Type: 9 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} + - m_Name: Idle + m_Type: 9 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} + - m_Name: Aim + m_Type: 9 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} + - m_Name: Shoot + m_Type: 9 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} + - m_Name: ReverseWalk + m_Type: 9 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} m_AnimatorLayers: - serializedVersion: 5 m_Name: Base Layer @@ -331,7 +355,7 @@ AnimatorStateTransition: m_PrefabAsset: {fileID: 0} m_Name: m_Conditions: - - m_ConditionMode: 3 + - m_ConditionMode: 1 m_ConditionEvent: Walk m_EventTreshold: 1 m_DstStateMachine: {fileID: 0} @@ -340,12 +364,12 @@ AnimatorStateTransition: m_Mute: 0 m_IsExit: 0 serializedVersion: 3 - m_TransitionDuration: 0.25 + m_TransitionDuration: 0.05 m_TransitionOffset: 0 m_ExitTime: 0.7413793 m_HasExitTime: 0 m_HasFixedDuration: 1 - m_InterruptionSource: 0 + m_InterruptionSource: 2 m_OrderedInterruption: 1 m_CanTransitionToSelf: 1 --- !u!1101 &639190802134924759 @@ -356,8 +380,8 @@ AnimatorStateTransition: m_PrefabAsset: {fileID: 0} m_Name: m_Conditions: - - m_ConditionMode: 3 - m_ConditionEvent: Walk + - m_ConditionMode: 1 + m_ConditionEvent: Run m_EventTreshold: 1 m_DstStateMachine: {fileID: 0} m_DstState: {fileID: -1315417293333573470} @@ -365,12 +389,12 @@ AnimatorStateTransition: m_Mute: 0 m_IsExit: 0 serializedVersion: 3 - m_TransitionDuration: 0.25 + m_TransitionDuration: 0.05 m_TransitionOffset: 0 m_ExitTime: 0.7413793 m_HasExitTime: 0 m_HasFixedDuration: 1 - m_InterruptionSource: 0 + m_InterruptionSource: 2 m_OrderedInterruption: 1 m_CanTransitionToSelf: 1 --- !u!1101 &3836013805048083207 @@ -381,8 +405,8 @@ AnimatorStateTransition: m_PrefabAsset: {fileID: 0} m_Name: m_Conditions: - - m_ConditionMode: 4 - m_ConditionEvent: Walk + - m_ConditionMode: 1 + m_ConditionEvent: Idle m_EventTreshold: 1 m_DstStateMachine: {fileID: 0} m_DstState: {fileID: 5243091673169977452} @@ -390,12 +414,12 @@ AnimatorStateTransition: m_Mute: 0 m_IsExit: 0 serializedVersion: 3 - m_TransitionDuration: 0.25 + m_TransitionDuration: 0.05 m_TransitionOffset: 0 m_ExitTime: 0.7413793 m_HasExitTime: 0 m_HasFixedDuration: 1 - m_InterruptionSource: 0 + m_InterruptionSource: 2 m_OrderedInterruption: 1 m_CanTransitionToSelf: 1 --- !u!1101 &4912053408022281260 @@ -406,8 +430,8 @@ AnimatorStateTransition: m_PrefabAsset: {fileID: 0} m_Name: m_Conditions: - - m_ConditionMode: 3 - m_ConditionEvent: Walk + - m_ConditionMode: 1 + m_ConditionEvent: Run m_EventTreshold: 1 m_DstStateMachine: {fileID: 0} m_DstState: {fileID: -1315417293333573470} @@ -415,12 +439,12 @@ AnimatorStateTransition: m_Mute: 0 m_IsExit: 0 serializedVersion: 3 - m_TransitionDuration: 0.25 + m_TransitionDuration: 0.05 m_TransitionOffset: 0 m_ExitTime: 0.7413793 m_HasExitTime: 0 m_HasFixedDuration: 1 - m_InterruptionSource: 0 + m_InterruptionSource: 2 m_OrderedInterruption: 1 m_CanTransitionToSelf: 1 --- !u!1102 &5243091673169977452 @@ -489,8 +513,8 @@ AnimatorStateTransition: m_PrefabAsset: {fileID: 0} m_Name: m_Conditions: - - m_ConditionMode: 4 - m_ConditionEvent: Walk + - m_ConditionMode: 1 + m_ConditionEvent: ReverseWalk m_EventTreshold: 0 m_DstStateMachine: {fileID: 0} m_DstState: {fileID: 7887362688843137504} @@ -498,11 +522,11 @@ AnimatorStateTransition: m_Mute: 0 m_IsExit: 0 serializedVersion: 3 - m_TransitionDuration: 0.25 + m_TransitionDuration: 0.05 m_TransitionOffset: 0 m_ExitTime: 0.625 m_HasExitTime: 0 m_HasFixedDuration: 1 - m_InterruptionSource: 0 + m_InterruptionSource: 2 m_OrderedInterruption: 1 m_CanTransitionToSelf: 1 diff --git a/Assets/Prefabs/PlayerArmatureNetworkAuthorative.prefab b/Assets/Prefabs/PlayerArmatureNetworkAuthorative.prefab index 14839fd..91f9b16 100644 --- a/Assets/Prefabs/PlayerArmatureNetworkAuthorative.prefab +++ b/Assets/Prefabs/PlayerArmatureNetworkAuthorative.prefab @@ -819,7 +819,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 82d02a395452c4f44b6f87d460322c56, type: 3} m_Name: m_EditorClassIdentifier: - speed: 3.5 + walkSpeed: 3.5 + runSpeedOffset: 2 rotationSpeed: 3.5 defaultInitialPositionOnPlane: {x: -4, y: 4} networkPlayerState: diff --git a/Assets/Scripts/PlayerBallControl.cs b/Assets/Scripts/PlayerBallControl.cs index b4fdf76..a5463e1 100644 --- a/Assets/Scripts/PlayerBallControl.cs +++ b/Assets/Scripts/PlayerBallControl.cs @@ -12,9 +12,6 @@ public class PlayerBallControl : NetworkBehaviour [SerializeField] private float flySpeed = 3.5f; - [SerializeField] - private float rotationSpeed = 3.5f; - [SerializeField] private Vector2 defaultInitialPositionOnPlane = new Vector2(-4, 4); diff --git a/Assets/Scripts/PlayerCameraFollow.cs b/Assets/Scripts/PlayerCameraFollow.cs index 16d6887..83b1b55 100644 --- a/Assets/Scripts/PlayerCameraFollow.cs +++ b/Assets/Scripts/PlayerCameraFollow.cs @@ -19,6 +19,9 @@ private void Awake() public void FollowPlayer(Transform transform) { + // not all scenes have a cinemachine virtual camera so return in that's the case + if (cinemachineVirtualCamera == null) return; + cinemachineVirtualCamera.Follow = transform; var perlin = cinemachineVirtualCamera.GetCinemachineComponent(); diff --git a/Assets/Scripts/PlayerControl.cs b/Assets/Scripts/PlayerControl.cs index 32b6163..f0262f3 100644 --- a/Assets/Scripts/PlayerControl.cs +++ b/Assets/Scripts/PlayerControl.cs @@ -4,16 +4,11 @@ [RequireComponent(typeof(NetworkObject))] public class PlayerControl : NetworkBehaviour { - public enum PlayerState - { - Idle, - Walk, - Run, - ReverseWalk, - } + [SerializeField] + private float walkSpeed = 3.5f; [SerializeField] - private float speed = 3.5f; + private float runSpeedOffset = 2.0f; [SerializeField] private float rotationSpeed = 3.5f; @@ -35,6 +30,7 @@ public enum PlayerState // client caches positions private Vector3 oldInputPosition = Vector3.zero; private Vector3 oldInputRotation = Vector3.zero; + private PlayerState oldPlayerState = PlayerState.Idle; private Animator animator; @@ -78,59 +74,43 @@ private void ClientMoveAndRotate() private void ClientVisuals() { - if (networkPlayerState.Value == PlayerState.Walk) - { - animator.SetFloat("Walk", 1); - } - else if (networkPlayerState.Value == PlayerState.Run) - { - animator.SetFloat("Walk", 2); - } - else if (networkPlayerState.Value == PlayerState.ReverseWalk) + if (oldPlayerState != networkPlayerState.Value) { - animator.SetFloat("Walk", -1); - } - else - { - animator.SetFloat("Walk", 0); + oldPlayerState = networkPlayerState.Value; + animator.SetTrigger($"{networkPlayerState.Value}"); } } private void ClientInput() { - // y axis client rotation + // left & right rotation Vector3 inputRotation = new Vector3(0, Input.GetAxis("Horizontal"), 0); // forward & backward direction Vector3 direction = transform.TransformDirection(Vector3.forward); float forwardInput = Input.GetAxis("Vertical"); - if (Input.GetKey(KeyCode.LeftShift) && forwardInput > 0) forwardInput = 2; - Vector3 inputPosition = direction * forwardInput; - - if (oldInputPosition != inputPosition || - oldInputRotation != inputRotation) - { - oldInputPosition = inputPosition; - UpdateClientPositionAndRotationServerRpc(inputPosition * speed, inputRotation * rotationSpeed); - } - + // change animation states + if (forwardInput == 0) + UpdatePlayerStateServerRpc(PlayerState.Idle); if (forwardInput > 0 && forwardInput <= 1) - { UpdatePlayerStateServerRpc(PlayerState.Walk); - } - else if (forwardInput > 1) + if ((Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift)) + && forwardInput > 0) { + inputPosition = direction * runSpeedOffset; UpdatePlayerStateServerRpc(PlayerState.Run); } - else if (forwardInput < 0) - { + if (forwardInput < 0) UpdatePlayerStateServerRpc(PlayerState.ReverseWalk); - } - else + + // let server know about position and rotation client changes + if (oldInputPosition != inputPosition || + oldInputRotation != inputRotation) { - UpdatePlayerStateServerRpc(PlayerState.Idle); + oldInputPosition = inputPosition; + UpdateClientPositionAndRotationServerRpc(inputPosition * walkSpeed, inputRotation * rotationSpeed); } } diff --git a/Assets/Scripts/PlayerControlAuthorative.cs b/Assets/Scripts/PlayerControlAuthorative.cs index 0d20119..b499afd 100644 --- a/Assets/Scripts/PlayerControlAuthorative.cs +++ b/Assets/Scripts/PlayerControlAuthorative.cs @@ -6,16 +6,11 @@ [RequireComponent(typeof(ClientNetworkTransform))] public class PlayerControlAuthorative : NetworkBehaviour { - public enum PlayerState - { - Idle, - Walk, - Run, - ReverseWalk, - } + [SerializeField] + private float walkSpeed = 3.5f; [SerializeField] - private float speed = 3.5f; + private float runSpeedOffset = 2.0f; [SerializeField] private float rotationSpeed = 3.5f; @@ -30,6 +25,9 @@ public enum PlayerState private Animator animator; + // client caches animation states + private PlayerState oldPlayerState = PlayerState.Idle; + private void Awake() { characterController = GetComponent(); @@ -59,21 +57,10 @@ void Update() private void ClientVisuals() { - if (networkPlayerState.Value == PlayerState.Walk) + if (oldPlayerState != networkPlayerState.Value) { - animator.SetFloat("Walk", 1); - } - else if (networkPlayerState.Value == PlayerState.Run) - { - animator.SetFloat("Walk", 2); - } - else if (networkPlayerState.Value == PlayerState.ReverseWalk) - { - animator.SetFloat("Walk", -1); - } - else - { - animator.SetFloat("Walk", 0); + oldPlayerState = networkPlayerState.Value; + animator.SetTrigger($"{networkPlayerState.Value}"); } } @@ -85,30 +72,25 @@ private void ClientInput() // forward & backward direction Vector3 direction = transform.TransformDirection(Vector3.forward); float forwardInput = Input.GetAxis("Vertical"); - if (Input.GetKey(KeyCode.LeftShift) && forwardInput > 0) forwardInput = 2; - Vector3 inputPosition = direction * forwardInput; - // client is responsible for moving itself - characterController.SimpleMove(inputPosition * speed); - transform.Rotate(inputRotation * rotationSpeed, Space.World); - + // change animation states + if (forwardInput == 0) + UpdatePlayerStateServerRpc(PlayerState.Idle); if (forwardInput > 0 && forwardInput <= 1) - { UpdatePlayerStateServerRpc(PlayerState.Walk); - } - else if (forwardInput > 1) + if ((Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift)) + && forwardInput > 0) { + inputPosition = direction * runSpeedOffset; UpdatePlayerStateServerRpc(PlayerState.Run); } - else if (forwardInput < 0) - { + if (forwardInput < 0) UpdatePlayerStateServerRpc(PlayerState.ReverseWalk); - } - else - { - UpdatePlayerStateServerRpc(PlayerState.Idle); - } + + // client is responsible for moving itself + characterController.SimpleMove(inputPosition * walkSpeed); + transform.Rotate(inputRotation * rotationSpeed, Space.World); } [ServerRpc] diff --git a/Assets/Scripts/Shared/Enums.cs b/Assets/Scripts/Shared/Enums.cs new file mode 100644 index 0000000..bec8518 --- /dev/null +++ b/Assets/Scripts/Shared/Enums.cs @@ -0,0 +1,9 @@ +public enum PlayerState +{ + Idle, + Walk, + Run, + Aim, + Shoot, + ReverseWalk, +} \ No newline at end of file diff --git a/Assets/Scripts/Shared/Enums.cs.meta b/Assets/Scripts/Shared/Enums.cs.meta new file mode 100644 index 0000000..2e0720a --- /dev/null +++ b/Assets/Scripts/Shared/Enums.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f087c8265dfff68488406f3027dba93d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UserSettings/EditorUserSettings.asset b/UserSettings/EditorUserSettings.asset index 9aed7e2..f16860f 100644 --- a/UserSettings/EditorUserSettings.asset +++ b/UserSettings/EditorUserSettings.asset @@ -9,19 +9,19 @@ EditorUserSettings: value: 22424703114646680e0b0227036c6c111b07142f1f2b233e2867083debf42d flags: 0 RecentlyUsedScenePath-1: - value: 22424703114646680e0b0227036c7d11051e1b07392432393d251c2ae7f27a2decee22f0 + value: 22424703114646680e0b0227036c7d11051e1b07392432393d251c2ae7f20331f6ef04eceb3b261f350bea32101c0033fe441c05ff1f13 flags: 0 RecentlyUsedScenePath-2: - value: 22424703114646680e0b0227036c7d11051e1b07392432393d251c2ae7f20331f6ef04eceb3b261f350bea32100a133efc190f04e406441e1f07e917 + value: 22424703114646680e0b0227036c7d11051e1b07392432393d251c2ae7f20331f6ef04eceb3b26722c0ce6281d flags: 0 RecentlyUsedScenePath-3: - value: 22424703114646680e0b0227036c7d11051e1b07392432393d251c2ae7f20331f6ef04eceb3b261f350bea32101c0033fe441c05ff1f13 + value: 22424703114646680e0b0227036c7d11051e1b07392432393d251c2ae7f20331f6ef04eceb3b261f350bea32100a133efc190f04e406441e1f07e917 flags: 0 RecentlyUsedScenePath-4: value: 22424703114646680e0b0227036c7d11051e1b07392432393d251c2ae7f20331f6ef04eceb3b260b3016e71a0b320d30e5290806f3190b450400f41a08 flags: 0 RecentlyUsedScenePath-5: - value: 22424703114646680e0b0227036c7d11051e1b07392432393d251c2ae7f20331f6ef04eceb3b26722c0ce6281d + value: 22424703114646680e0b0227036c7d11051e1b07392432393d251c2ae7f27a2decee22f0 flags: 0 vcSharedLogLevel: value: 0d5e400f0650 From ece97ef9c5e25f93eba00971b3f5b4d87aac846b Mon Sep 17 00:00:00 2001 From: Dilmer Valecillos Date: Mon, 29 Nov 2021 19:45:51 -0700 Subject: [PATCH 10/14] Removed NetworkAnimator since we're using networkvariables to keep track of the animation state --- Assets/Prefabs/PlayerArmatureNetwork.prefab | 19 ++----------------- .../PlayerArmatureNetworkAuthorative.prefab | 16 ---------------- Assets/Scripts/PlayerControl.cs | 12 ++++++++---- Assets/Scripts/PlayerControlAuthorative.cs | 11 +++++++---- 4 files changed, 17 insertions(+), 41 deletions(-) diff --git a/Assets/Prefabs/PlayerArmatureNetwork.prefab b/Assets/Prefabs/PlayerArmatureNetwork.prefab index 64cf10a..5291190 100644 --- a/Assets/Prefabs/PlayerArmatureNetwork.prefab +++ b/Assets/Prefabs/PlayerArmatureNetwork.prefab @@ -671,7 +671,6 @@ GameObject: - component: {fileID: 4820286304567637248} - component: {fileID: 2255991852033553866} - component: {fileID: 8782944162090155111} - - component: {fileID: 6524640165081047080} - component: {fileID: 3744294913487860803} - component: {fileID: 6174784278528370158} m_Layer: 8 @@ -752,21 +751,6 @@ MonoBehaviour: AlwaysReplicateAsRoot: 0 DontDestroyWithOwner: 0 AutoObjectParentSync: 1 ---- !u!114 &6524640165081047080 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2255991852033553856} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e8d0727d5ae3244e3b569694d3912374, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Animator: {fileID: 4820286304567637248} - m_ParameterSendBits: 0 - m_SendRate: 0.1 --- !u!114 &3744294913487860803 MonoBehaviour: m_ObjectHideFlags: 0 @@ -791,7 +775,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 932d691fb08fd6e46bfb8464e00e2757, type: 3} m_Name: m_EditorClassIdentifier: - speed: 2.5 + walkSpeed: 3.5 + runSpeedOffset: 2 rotationSpeed: 1.5 defaultInitialPositionOnPlane: {x: -4, y: 4} networkPositionDirection: diff --git a/Assets/Prefabs/PlayerArmatureNetworkAuthorative.prefab b/Assets/Prefabs/PlayerArmatureNetworkAuthorative.prefab index 91f9b16..9316b7b 100644 --- a/Assets/Prefabs/PlayerArmatureNetworkAuthorative.prefab +++ b/Assets/Prefabs/PlayerArmatureNetworkAuthorative.prefab @@ -671,7 +671,6 @@ GameObject: - component: {fileID: 4820286304567637248} - component: {fileID: 2255991852033553866} - component: {fileID: 8782944162090155111} - - component: {fileID: 6524640165081047080} - component: {fileID: 3744294913487860803} - component: {fileID: 5257146460509302217} - component: {fileID: 6236985613144584727} @@ -753,21 +752,6 @@ MonoBehaviour: AlwaysReplicateAsRoot: 0 DontDestroyWithOwner: 0 AutoObjectParentSync: 1 ---- !u!114 &6524640165081047080 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2255991852033553856} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e8d0727d5ae3244e3b569694d3912374, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Animator: {fileID: 4820286304567637248} - m_ParameterSendBits: 0 - m_SendRate: 0.1 --- !u!114 &3744294913487860803 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/PlayerControl.cs b/Assets/Scripts/PlayerControl.cs index f0262f3..145099f 100644 --- a/Assets/Scripts/PlayerControl.cs +++ b/Assets/Scripts/PlayerControl.cs @@ -94,15 +94,14 @@ private void ClientInput() // change animation states if (forwardInput == 0) UpdatePlayerStateServerRpc(PlayerState.Idle); - if (forwardInput > 0 && forwardInput <= 1) + else if (!ActiveRunningActionKey() && forwardInput > 0 && forwardInput <= 1) UpdatePlayerStateServerRpc(PlayerState.Walk); - if ((Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift)) - && forwardInput > 0) + else if (ActiveRunningActionKey() && forwardInput > 0 && forwardInput <= 1) { inputPosition = direction * runSpeedOffset; UpdatePlayerStateServerRpc(PlayerState.Run); } - if (forwardInput < 0) + else if (forwardInput < 0) UpdatePlayerStateServerRpc(PlayerState.ReverseWalk); // let server know about position and rotation client changes @@ -114,6 +113,11 @@ private void ClientInput() } } + private static bool ActiveRunningActionKey() + { + return Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift); + } + [ServerRpc] public void UpdateClientPositionAndRotationServerRpc(Vector3 newPosition, Vector3 newRotation) { diff --git a/Assets/Scripts/PlayerControlAuthorative.cs b/Assets/Scripts/PlayerControlAuthorative.cs index b499afd..31f84ff 100644 --- a/Assets/Scripts/PlayerControlAuthorative.cs +++ b/Assets/Scripts/PlayerControlAuthorative.cs @@ -77,21 +77,24 @@ private void ClientInput() // change animation states if (forwardInput == 0) UpdatePlayerStateServerRpc(PlayerState.Idle); - if (forwardInput > 0 && forwardInput <= 1) + else if (!ActiveRunningActionKey() && forwardInput > 0 && forwardInput <= 1) UpdatePlayerStateServerRpc(PlayerState.Walk); - if ((Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift)) - && forwardInput > 0) + else if (ActiveRunningActionKey() && forwardInput > 0 && forwardInput <= 1) { inputPosition = direction * runSpeedOffset; UpdatePlayerStateServerRpc(PlayerState.Run); } - if (forwardInput < 0) + else if (forwardInput < 0) UpdatePlayerStateServerRpc(PlayerState.ReverseWalk); // client is responsible for moving itself characterController.SimpleMove(inputPosition * walkSpeed); transform.Rotate(inputRotation * rotationSpeed, Space.World); } + private static bool ActiveRunningActionKey() + { + return Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift); + } [ServerRpc] public void UpdatePlayerStateServerRpc(PlayerState state) From d9fcbc04f0846fe1aaa5490361e00165405f0e50 Mon Sep 17 00:00:00 2001 From: Dilmer Valecillos Date: Fri, 3 Dec 2021 07:46:50 -0700 Subject: [PATCH 11/14] Added new demo showing how ServerRpc and ClientRpc work together --- Assets/Animations/Armature@Punching.fbx | Bin 0 -> 363072 bytes Assets/Animations/Armature@Punching.fbx.meta | 918 ++++++ Assets/Animations/Controllers.meta | 8 + .../Controllers/AdvancedAnimator.controller | 849 +++++ .../AdvancedAnimator.controller.meta | 8 + .../SimpleAnimator.controller | 0 .../SimpleAnimator.controller.meta | 0 .../PlayerWithRaycastArmatureNetwork.prefab | 2823 +++++++++++++++++ ...ayerWithRaycastArmatureNetwork.prefab.meta | 7 + Assets/Scenes/DemoServerRpcAndClientRpc.unity | 2316 ++++++++++++++ .../DemoServerRpcAndClientRpc.unity.meta | 7 + Assets/Scripts/PlayerControl.cs | 2 +- Assets/Scripts/PlayerWithRaycastControl.cs | 238 ++ .../Scripts/PlayerWithRaycastControl.cs.meta | 11 + Assets/Scripts/Shared/Enums.cs | 3 +- ProjectSettings/EditorBuildSettings.asset | 5 +- ProjectSettings/ProjectSettings.asset | 1 + ProjectSettings/TagManager.asset | 5 +- UserSettings/EditorUserSettings.asset | 10 +- 19 files changed, 7203 insertions(+), 8 deletions(-) create mode 100644 Assets/Animations/Armature@Punching.fbx create mode 100644 Assets/Animations/Armature@Punching.fbx.meta create mode 100644 Assets/Animations/Controllers.meta create mode 100644 Assets/Animations/Controllers/AdvancedAnimator.controller create mode 100644 Assets/Animations/Controllers/AdvancedAnimator.controller.meta rename Assets/Animations/{ => Controllers}/SimpleAnimator.controller (100%) rename Assets/Animations/{ => Controllers}/SimpleAnimator.controller.meta (100%) create mode 100644 Assets/Prefabs/PlayerWithRaycastArmatureNetwork.prefab create mode 100644 Assets/Prefabs/PlayerWithRaycastArmatureNetwork.prefab.meta create mode 100644 Assets/Scenes/DemoServerRpcAndClientRpc.unity create mode 100644 Assets/Scenes/DemoServerRpcAndClientRpc.unity.meta create mode 100644 Assets/Scripts/PlayerWithRaycastControl.cs create mode 100644 Assets/Scripts/PlayerWithRaycastControl.cs.meta diff --git a/Assets/Animations/Armature@Punching.fbx b/Assets/Animations/Armature@Punching.fbx new file mode 100644 index 0000000000000000000000000000000000000000..b47b6feefff006935cdc2cb09d79e6e8dc30d55d GIT binary patch literal 363072 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 networkPositionDirection = new NetworkVariable(); + + [SerializeField] + private NetworkVariable networkRotationDirection = new NetworkVariable(); + + [SerializeField] + private NetworkVariable networkPlayerState = new NetworkVariable(); + + + [SerializeField] + private NetworkVariable networkPlayerHealth = new NetworkVariable(1000); + + [SerializeField] + private NetworkVariable networkPlayerPunchBlend = new NetworkVariable(); + + [SerializeField] + private GameObject leftHand; + + [SerializeField] + private GameObject rightHand; + + [SerializeField] + private float minPunchDistance = 1.0f; + + private CharacterController characterController; + + // client caches positions + private Vector3 oldInputPosition = Vector3.zero; + private Vector3 oldInputRotation = Vector3.zero; + private PlayerState oldPlayerState = PlayerState.Idle; + + private Animator animator; + + private void Awake() + { + characterController = GetComponent(); + animator = GetComponent(); + } + + void Start() + { + if (IsClient && IsOwner) + { + transform.position = new Vector3(Random.Range(defaultInitialPositionOnPlane.x, defaultInitialPositionOnPlane.y), 0, + Random.Range(defaultInitialPositionOnPlane.x, defaultInitialPositionOnPlane.y)); + + PlayerCameraFollow.Instance.FollowPlayer(transform.Find("PlayerCameraRoot")); + } + } + + void Update() + { + if (IsClient && IsOwner) + { + ClientInput(); + } + + ClientMoveAndRotate(); + ClientVisuals(); + } + + private void FixedUpdate() + { + if (IsClient && IsOwner) + { + if (networkPlayerState.Value == PlayerState.Punch && ActivePunchActionKey()) + { + CheckPunch(leftHand.transform, Vector3.up); + CheckPunch(rightHand.transform, Vector3.down); + } + } + } + + private void CheckPunch(Transform hand, Vector3 aimDirection) + { + RaycastHit hit; + + int layerMask = LayerMask.GetMask("Player"); + + if (Physics.Raycast(hand.position, hand.transform.TransformDirection(aimDirection), out hit, minPunchDistance, layerMask)) + { + Debug.DrawRay(hand.position, hand.transform.TransformDirection(aimDirection) * minPunchDistance, Color.yellow); + + var playerHit = hit.transform.GetComponent(); + if (playerHit != null) + { + UpdateHealthServerRpc(1, playerHit.OwnerClientId); + } + } + else + { + Debug.DrawRay(hand.position, hand.transform.TransformDirection(aimDirection) * minPunchDistance, Color.red); + } + } + + + private void ClientMoveAndRotate() + { + if (networkPositionDirection.Value != Vector3.zero) + { + characterController.SimpleMove(networkPositionDirection.Value); + } + if (networkRotationDirection.Value != Vector3.zero) + { + transform.Rotate(networkRotationDirection.Value, Space.World); + } + } + + private void ClientVisuals() + { + if (oldPlayerState != networkPlayerState.Value) + { + oldPlayerState = networkPlayerState.Value; + animator.SetTrigger($"{networkPlayerState.Value}"); + if (networkPlayerState.Value == PlayerState.Punch) + { + animator.SetFloat($"{networkPlayerState.Value}Blend", networkPlayerPunchBlend.Value); + } + } + } + + private void ClientInput() + { + // left & right rotation + Vector3 inputRotation = new Vector3(0, Input.GetAxis("Horizontal"), 0); + + // forward & backward direction + Vector3 direction = transform.TransformDirection(Vector3.forward); + float forwardInput = Input.GetAxis("Vertical"); + Vector3 inputPosition = direction * forwardInput; + + // change fighting states + if (ActivePunchActionKey() && forwardInput == 0) + { + UpdatePlayerStateServerRpc(PlayerState.Punch); + return; + } + + // change motion states + if (forwardInput == 0) + UpdatePlayerStateServerRpc(PlayerState.Idle); + else if (!ActiveRunningActionKey() && forwardInput > 0 && forwardInput <= 1) + UpdatePlayerStateServerRpc(PlayerState.Walk); + else if (ActiveRunningActionKey() && forwardInput > 0 && forwardInput <= 1) + { + inputPosition = direction * runSpeedOffset; + UpdatePlayerStateServerRpc(PlayerState.Run); + } + else if (forwardInput < 0) + UpdatePlayerStateServerRpc(PlayerState.ReverseWalk); + + // let server know about position and rotation client changes + if (oldInputPosition != inputPosition || + oldInputRotation != inputRotation) + { + oldInputPosition = inputPosition; + oldInputRotation = inputRotation; + UpdateClientPositionAndRotationServerRpc(inputPosition * walkSpeed, inputRotation * rotationSpeed); + } + } + + private static bool ActiveRunningActionKey() + { + return Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift); + } + + private static bool ActivePunchActionKey() + { + return Input.GetKey(KeyCode.Space); + } + + [ServerRpc] + public void UpdateClientPositionAndRotationServerRpc(Vector3 newPosition, Vector3 newRotation) + { + networkPositionDirection.Value = newPosition; + networkRotationDirection.Value = newRotation; + } + + [ServerRpc] + public void UpdateHealthServerRpc(int takeAwayPoint, ulong clientId) + { + var clientWithDamaged = NetworkManager.Singleton.ConnectedClients[clientId] + .PlayerObject.GetComponent(); + + if (clientWithDamaged != null && clientWithDamaged.networkPlayerHealth.Value > 0) + { + clientWithDamaged.networkPlayerHealth.Value -= takeAwayPoint; + } + + // execute method on a client getting punch + NotifyHealthChangedClientRpc(takeAwayPoint, new ClientRpcParams + { + Send = new ClientRpcSendParams + { + TargetClientIds = new ulong[] { clientId } + } + }); + } + + [ClientRpc] + public void NotifyHealthChangedClientRpc(int takeAwayPoint, ClientRpcParams clientRpcParams = default) + { + if (IsOwner) return; + + Logger.Instance.LogInfo($"Client got punch {takeAwayPoint}"); + } + + [ServerRpc] + public void UpdatePlayerStateServerRpc(PlayerState state) + { + networkPlayerState.Value = state; + if (state == PlayerState.Punch) + { + networkPlayerPunchBlend.Value = Random.Range(0.0f, 1.0f); + } + } +} diff --git a/Assets/Scripts/PlayerWithRaycastControl.cs.meta b/Assets/Scripts/PlayerWithRaycastControl.cs.meta new file mode 100644 index 0000000..deefaa2 --- /dev/null +++ b/Assets/Scripts/PlayerWithRaycastControl.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1c8a5ff3f9a4e13418df908f76d74733 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Shared/Enums.cs b/Assets/Scripts/Shared/Enums.cs index bec8518..59d2f27 100644 --- a/Assets/Scripts/Shared/Enums.cs +++ b/Assets/Scripts/Shared/Enums.cs @@ -3,7 +3,6 @@ Idle, Walk, Run, - Aim, - Shoot, + Punch, ReverseWalk, } \ No newline at end of file diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset index 482ab85..131bba1 100644 --- a/ProjectSettings/EditorBuildSettings.asset +++ b/ProjectSettings/EditorBuildSettings.asset @@ -17,7 +17,10 @@ EditorBuildSettings: - enabled: 0 path: Assets/Scenes/BasicMultiplayerWithRelayClientBall.unity guid: e4f5ff7f42d980b4fb49a1fc969e8698 - - enabled: 1 + - enabled: 0 path: Assets/Scenes/BasicMultiplayerWithRelayWithFollowCamera.unity guid: 970daee330a758243b2cfb0165333b02 + - enabled: 1 + path: Assets/Scenes/DemoServerRpcAndClientRpc.unity + guid: 12d3d54ff99ad284d9f014341f003826 m_configObjects: {} diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index 5273bb6..4c51eda 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -138,6 +138,7 @@ PlayerSettings: - {fileID: 0} - {fileID: 0} - {fileID: 0} + - {fileID: 0} metroInputSource: 0 wsaTransparentSwapchain: 0 m_HolographicPauseOnTrackingLoss: 1 diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index 1c92a78..2fb8be1 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -3,7 +3,8 @@ --- !u!78 &1 TagManager: serializedVersion: 2 - tags: [] + tags: + - CinemachineTarget layers: - Default - TransparentFX @@ -11,7 +12,7 @@ TagManager: - - Water - UI - - + - Player - - - diff --git a/UserSettings/EditorUserSettings.asset b/UserSettings/EditorUserSettings.asset index f16860f..ecb2948 100644 --- a/UserSettings/EditorUserSettings.asset +++ b/UserSettings/EditorUserSettings.asset @@ -18,10 +18,16 @@ EditorUserSettings: value: 22424703114646680e0b0227036c7d11051e1b07392432393d251c2ae7f20331f6ef04eceb3b261f350bea32100a133efc190f04e406441e1f07e917 flags: 0 RecentlyUsedScenePath-4: - value: 22424703114646680e0b0227036c7d11051e1b07392432393d251c2ae7f20331f6ef04eceb3b260b3016e71a0b320d30e5290806f3190b450400f41a08 + value: 22424703114646680e0b0227036c7d11051e1b07392432393d251c2ae7f27a2decee22f0 flags: 0 RecentlyUsedScenePath-5: - value: 22424703114646680e0b0227036c7d11051e1b07392432393d251c2ae7f27a2decee22f0 + value: 22424703114646680e0b0227036c7d11051e1b07392432393d251c2ae7f2042dece43ee0e93d7129370bfb25 + flags: 0 + RecentlyUsedScenePath-6: + value: 22424703114646680e0b0227036c7d11051e1b07392432393d251c2ae7f20331f6ef04eceb3b260b3016e71a0b320d30e5290806f3190b450400f41a08 + flags: 0 + RecentlyUsedScenePath-7: + value: 22424703114646680e0b0227036c7b151b182b2f3e3e23221f391e12ece41734ebe238fdd52a3c722c0ce6281d flags: 0 vcSharedLogLevel: value: 0d5e400f0650 From 750ca3fe4bd60135e17fc0a19b1954532e8f8a97 Mon Sep 17 00:00:00 2001 From: Dilmer Valecillos Date: Fri, 3 Dec 2021 14:53:14 -0700 Subject: [PATCH 12/14] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9191ba7..912c7c0 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,6 @@ YouTube tutorials in Chronogical order / features: * [How To Make A Game With Unity Multiplayer Netcode | Network Physics And Network Object Pooling](https://youtu.be/DfUUyEWUhwQ) * [How To Make A Game With Unity Multiplayer Netcode | Relay Service Setup](https://youtu.be/82Lbho7S0OA) * [How To Make A Game With Unity Multiplayer Netcode | Client Network Transform & 3rd Person Camera](https://youtu.be/49mnzY-MpLw) -* How To Make A Game With Unity Multiplayer Netcode | ClientRpc And ServerRpc +* [How To Make A Game With Unity Multiplayer Netcode | ClientRpc ClientRpcParams & ServerRpc](https://www.youtube.com/watch?v=ktGJstDvEmU) Take a look at [Unity official docs](https://docs-multiplayer.unity3d.com/docs/learn/dilmer/dilmer-video) as well with the videos above also included. From c0286919ad20e741b9b903131eaac10fd6cf45c5 Mon Sep 17 00:00:00 2001 From: Dilmer Valecillos Date: Wed, 8 Dec 2021 20:53:36 -0700 Subject: [PATCH 13/14] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 912c7c0..9dda2ca 100644 --- a/README.md +++ b/README.md @@ -9,5 +9,6 @@ YouTube tutorials in Chronogical order / features: * [How To Make A Game With Unity Multiplayer Netcode | Relay Service Setup](https://youtu.be/82Lbho7S0OA) * [How To Make A Game With Unity Multiplayer Netcode | Client Network Transform & 3rd Person Camera](https://youtu.be/49mnzY-MpLw) * [How To Make A Game With Unity Multiplayer Netcode | ClientRpc ClientRpcParams & ServerRpc](https://www.youtube.com/watch?v=ktGJstDvEmU) +* [How To Make A Game With Unity Multiplayer Netcode | XR Multiplayer Rig](https://youtu.be/pl6Pbb43E-Y) :bulb: Code for this video is currently only available to [YouTube members](https://www.youtube.com/dilmerv) or [Patrons](https://patreon.com/dilmerv) but it will become public in the near future. Take a look at [Unity official docs](https://docs-multiplayer.unity3d.com/docs/learn/dilmer/dilmer-video) as well with the videos above also included. From 17208632a04408caca2720399cc149717d380a33 Mon Sep 17 00:00:00 2001 From: Dilmer Valecillos Date: Tue, 25 Apr 2023 11:51:36 -0600 Subject: [PATCH 14/14] Create LICENSE --- LICENSE | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..a9d0115 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Dilmer Valecillos + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE.