diff --git a/Assets/PlayerBaseHandler.cs b/Assets/PlayerBaseHandler.cs new file mode 100644 index 0000000..52f95a5 --- /dev/null +++ b/Assets/PlayerBaseHandler.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +[System.Serializable] +public class PlayerBaseData +{ + public PlayerTypes playerType; + public PlayerBase playerBase; +} + +public class PlayerBaseHandler : MonoBehaviour +{ + [SerializeField] private PlayerBase[] playerBases; + + public void InitPlayerTypes(List playerTypes) + { + foreach (PlayerBase playerBase in playerBases) + { + if (playerTypes.Contains(playerBase.GetPlayerType())) + { + playerBase.InitPlayerIds(); + playerBase.gameObject.SetActive(true); + } + else + { + playerBase.gameObject.SetActive(false); + } + } + } + + public void GetPlayerBase() + { + + } +} diff --git a/Assets/PlayerBaseHandler.cs.meta b/Assets/PlayerBaseHandler.cs.meta new file mode 100644 index 0000000..2c68233 --- /dev/null +++ b/Assets/PlayerBaseHandler.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 647207b7c72d24ccaaebc10900c23d2b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Characters/Player1Mesh.prefab b/Assets/Prefabs/Characters/Player1Mesh.prefab index a99f20b..e1bfd6a 100644 --- a/Assets/Prefabs/Characters/Player1Mesh.prefab +++ b/Assets/Prefabs/Characters/Player1Mesh.prefab @@ -29,7 +29,7 @@ Transform: m_GameObject: {fileID: 7993275380040288456} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 18.7, y: 3.76, z: -10.59} - m_LocalScale: {x: 2.1844, y: 2.1844, z: 2.1844} + m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} @@ -110,3 +110,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da493b8dbb3aa475abf11f31549b9293, type: 3} m_Name: m_EditorClassIdentifier: + playerState: 0 diff --git a/Assets/Prefabs/Characters/Player2Mesh.prefab b/Assets/Prefabs/Characters/Player2Mesh.prefab index b53b369..e1258a1 100644 --- a/Assets/Prefabs/Characters/Player2Mesh.prefab +++ b/Assets/Prefabs/Characters/Player2Mesh.prefab @@ -29,7 +29,7 @@ Transform: m_GameObject: {fileID: 7993275380040288456} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 18.7, y: 3.76, z: -10.59} - m_LocalScale: {x: 2.1844, y: 2.1844, z: 2.1844} + m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} diff --git a/Assets/Prefabs/Characters/Player3Mesh.prefab b/Assets/Prefabs/Characters/Player3Mesh.prefab index e39badd..60b2fed 100644 --- a/Assets/Prefabs/Characters/Player3Mesh.prefab +++ b/Assets/Prefabs/Characters/Player3Mesh.prefab @@ -29,7 +29,7 @@ Transform: m_GameObject: {fileID: 7993275380040288456} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 18.7, y: 3.76, z: -10.59} - m_LocalScale: {x: 2.1844, y: 2.1844, z: 2.1844} + m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} diff --git a/Assets/Prefabs/Characters/Player4Mesh.prefab b/Assets/Prefabs/Characters/Player4Mesh.prefab index 09ab5fb..35a7abf 100644 --- a/Assets/Prefabs/Characters/Player4Mesh.prefab +++ b/Assets/Prefabs/Characters/Player4Mesh.prefab @@ -29,7 +29,7 @@ Transform: m_GameObject: {fileID: 7993275380040288456} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 18.7, y: 3.76, z: -10.59} - m_LocalScale: {x: 2.1844, y: 2.1844, z: 2.1844} + m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} diff --git a/Assets/Prefabs/Tile/Tile (1).prefab b/Assets/Prefabs/Tile/SafeTile.prefab similarity index 51% rename from Assets/Prefabs/Tile/Tile (1).prefab rename to Assets/Prefabs/Tile/SafeTile.prefab index 1255fcc..6fad481 100644 --- a/Assets/Prefabs/Tile/Tile (1).prefab +++ b/Assets/Prefabs/Tile/SafeTile.prefab @@ -1,6 +1,6 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!1 &340880580 +--- !u!1 &141183527 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -8,30 +8,158 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 340880581} + - component: {fileID: 141183528} m_Layer: 0 - m_Name: GameObject + m_Name: Placement (1) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &340880581 +--- !u!4 &141183528 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 340880580} + m_GameObject: {fileID: 141183527} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -1.09, y: 0, z: -1.01} - m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} - m_ConstrainProportionsScale: 1 + m_LocalPosition: {x: -1.06, y: 0, z: -1.03} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1216908670} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &165064736 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 165064737} + m_Layer: 0 + m_Name: Placement (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &165064737 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 165064736} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.89, y: 0, z: -0.92} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1216908670} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &172566720 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 172566721} + m_Layer: 0 + m_Name: Placement (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &172566721 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 172566720} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.88, y: 0, z: 1.12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1216908670} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1216908669 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1216908670} + m_Layer: 0 + m_Name: Placements + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1216908670 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1216908669} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 141183528} + - {fileID: 172566721} + - {fileID: 1619171259} + - {fileID: 165064737} + m_Father: {fileID: 2960581183699728426} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1221159069 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1221159070} + m_Layer: 0 + m_Name: CenteredPoint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1221159070 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1221159069} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 2960581183699728426} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &489080435 +--- !u!1 &1619171258 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -39,91 +167,29 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 489080436} + - component: {fileID: 1619171259} m_Layer: 0 - m_Name: GameObject (1) + m_Name: Placement (3) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &489080436 +--- !u!4 &1619171259 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 489080435} + m_GameObject: {fileID: 1619171258} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -1.11, y: 0, z: 1.2} - m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} - m_ConstrainProportionsScale: 1 + m_LocalPosition: {x: -1.09, y: 0, z: 1.26} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 2960581183699728426} + m_Father: {fileID: 1216908670} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &575231063 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 575231064} - m_Layer: 0 - m_Name: GameObject (3) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &575231064 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 575231063} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.89, y: 0, z: -1.05} - m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} - m_ConstrainProportionsScale: 1 - m_Children: [] - m_Father: {fileID: 2960581183699728426} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1493812672 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1493812673} - m_Layer: 0 - m_Name: GameObject (2) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1493812673 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1493812672} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.8, y: 0, z: 0.97} - m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} - m_ConstrainProportionsScale: 1 - m_Children: [] - m_Father: {fileID: 2960581183699728426} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &2960581183699728427 GameObject: m_ObjectHideFlags: 0 @@ -133,9 +199,9 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 2960581183699728426} - - component: {fileID: 2960581183699728421} + - component: {fileID: 5376650559335035371} m_Layer: 0 - m_Name: Tile (1) + m_Name: SafeTile m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -153,14 +219,12 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 340880581} - - {fileID: 1493812673} - - {fileID: 489080436} - - {fileID: 575231064} + - {fileID: 1221159070} + - {fileID: 1216908670} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &2960581183699728421 +--- !u!114 &5376650559335035371 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -169,7 +233,13 @@ MonoBehaviour: m_GameObject: {fileID: 2960581183699728427} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: be69a8cfb3b2940308cbac570565e629, type: 3} + m_Script: {fileID: 11500000, guid: 114033ff484fb492290f3118615ad4d8, type: 3} m_Name: m_EditorClassIdentifier: - isSafeZone: 0 + isSafeZone: 1 + centerPlacementPoint: {fileID: 1221159070} + placementPoints: + - {fileID: 141183528} + - {fileID: 172566721} + - {fileID: 1619171259} + - {fileID: 165064737} diff --git a/Assets/Prefabs/Tile/SafeTile.prefab.meta b/Assets/Prefabs/Tile/SafeTile.prefab.meta new file mode 100644 index 0000000..806ea47 --- /dev/null +++ b/Assets/Prefabs/Tile/SafeTile.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 13346690e7c8b414cb171f800c32ec57 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Tile/Tile.prefab b/Assets/Prefabs/Tile/Tile.prefab new file mode 100644 index 0000000..4171d8f --- /dev/null +++ b/Assets/Prefabs/Tile/Tile.prefab @@ -0,0 +1,47 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2960581183699728427 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2960581183699728426} + - component: {fileID: 2960581183699728421} + m_Layer: 0 + m_Name: Tile + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2960581183699728426 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2960581183699728427} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 18.83, y: 0, z: -3.42} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2960581183699728421 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2960581183699728427} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: be69a8cfb3b2940308cbac570565e629, type: 3} + m_Name: + m_EditorClassIdentifier: + isSafeZone: 0 diff --git a/Assets/Prefabs/Tile/Tile (1).prefab.meta b/Assets/Prefabs/Tile/Tile.prefab.meta similarity index 100% rename from Assets/Prefabs/Tile/Tile (1).prefab.meta rename to Assets/Prefabs/Tile/Tile.prefab.meta diff --git a/Assets/Scenes/Game.unity b/Assets/Scenes/Game.unity index bf96e40..9595249 100644 --- a/Assets/Scenes/Game.unity +++ b/Assets/Scenes/Game.unity @@ -319,79 +319,6 @@ Transform: m_CorrespondingSourceObject: {fileID: 2960581183699728426, guid: 094ea6ce63e654b22964fec2f6344c8a, type: 3} m_PrefabInstance: {fileID: 77922092} m_PrefabAsset: {fileID: 0} ---- !u!1001 &78677764 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 868479585} - m_Modifications: - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_RootOrder - value: 12 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalPosition.x - value: -3.87 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalPosition.z - value: -19.45 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728427, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_Name - value: Tile (13) - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} ---- !u!4 &78677765 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - m_PrefabInstance: {fileID: 78677764} - m_PrefabAsset: {fileID: 0} ---- !u!114 &78677766 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 2960581183699728421, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - m_PrefabInstance: {fileID: 78677764} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: be69a8cfb3b2940308cbac570565e629, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!1001 &101156877 PrefabInstance: m_ObjectHideFlags: 0 @@ -465,79 +392,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: be69a8cfb3b2940308cbac570565e629, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!1001 &101689198 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 868479585} - m_Modifications: - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_RootOrder - value: 8 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalPosition.x - value: 3.78 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalPosition.z - value: -19.67 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728427, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_Name - value: Tile (9) - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} ---- !u!4 &101689199 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - m_PrefabInstance: {fileID: 101689198} - m_PrefabAsset: {fileID: 0} ---- !u!114 &101689200 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 2960581183699728421, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - m_PrefabInstance: {fileID: 101689198} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: be69a8cfb3b2940308cbac570565e629, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!1 &102349499 GameObject: m_ObjectHideFlags: 0 @@ -1103,6 +957,79 @@ Transform: m_CorrespondingSourceObject: {fileID: 2960581183699728426, guid: 094ea6ce63e654b22964fec2f6344c8a, type: 3} m_PrefabInstance: {fileID: 184681510} m_PrefabAsset: {fileID: 0} +--- !u!1001 &209365733 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 868479585} + m_Modifications: + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_RootOrder + value: 36 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalPosition.x + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalPosition.z + value: 20.58 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728427, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_Name + value: SafeTile (37) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} +--- !u!4 &209365734 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + m_PrefabInstance: {fileID: 209365733} + m_PrefabAsset: {fileID: 0} +--- !u!114 &209365735 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 5376650559335035371, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + m_PrefabInstance: {fileID: 209365733} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 114033ff484fb492290f3118615ad4d8, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &241691679 GameObject: m_ObjectHideFlags: 0 @@ -1114,7 +1041,7 @@ GameObject: - component: {fileID: 241691680} - component: {fileID: 241691681} m_Layer: 0 - m_Name: Player2 + m_Name: Player2Base m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -1149,6 +1076,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 789d50d84a2014dedb8aa0bb22261a7e, type: 3} m_Name: m_EditorClassIdentifier: + basePlacementDatas: [] --- !u!1 &257080519 GameObject: m_ObjectHideFlags: 0 @@ -1284,6 +1212,10 @@ PrefabInstance: propertyPath: m_Name value: Player1Mesh (2) objectReference: {fileID: 0} + - target: {fileID: 7993275380040288456, guid: 9ae10e3fa7db64f47af31a5f0ebbecdc, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 7993275380040288459, guid: 9ae10e3fa7db64f47af31a5f0ebbecdc, type: 3} propertyPath: m_RootOrder value: 2 @@ -1335,6 +1267,79 @@ Transform: m_CorrespondingSourceObject: {fileID: 7993275380040288459, guid: 9ae10e3fa7db64f47af31a5f0ebbecdc, type: 3} m_PrefabInstance: {fileID: 285587083} m_PrefabAsset: {fileID: 0} +--- !u!1001 &320946490 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 868479585} + m_Modifications: + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_RootOrder + value: 12 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalPosition.x + value: -3.87 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalPosition.z + value: -19.45 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728427, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_Name + value: SafeTile (13) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} +--- !u!4 &320946491 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + m_PrefabInstance: {fileID: 320946490} + m_PrefabAsset: {fileID: 0} +--- !u!114 &320946492 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 5376650559335035371, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + m_PrefabInstance: {fileID: 320946490} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 114033ff484fb492290f3118615ad4d8, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &332604772 PrefabInstance: m_ObjectHideFlags: 0 @@ -1346,6 +1351,10 @@ PrefabInstance: propertyPath: m_Name value: Player1Mesh (1) objectReference: {fileID: 0} + - target: {fileID: 7993275380040288456, guid: 9ae10e3fa7db64f47af31a5f0ebbecdc, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 7993275380040288459, guid: 9ae10e3fa7db64f47af31a5f0ebbecdc, type: 3} propertyPath: m_RootOrder value: 1 @@ -1787,7 +1796,7 @@ GameObject: m_Component: - component: {fileID: 433034050} m_Layer: 0 - m_Name: Pawns/Characters + m_Name: PlayerBases m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -2097,6 +2106,10 @@ PrefabInstance: propertyPath: m_Name value: Player3Mesh (2) objectReference: {fileID: 0} + - target: {fileID: 7993275380040288456, guid: 195e8a45a36974637bff1dab6791e632, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 7993275380040288459, guid: 195e8a45a36974637bff1dab6791e632, type: 3} propertyPath: m_RootOrder value: 2 @@ -2159,7 +2172,7 @@ GameObject: - component: {fileID: 574007535} - component: {fileID: 574007536} m_Layer: 0 - m_Name: Player1 + m_Name: Player1Base m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -2194,6 +2207,15 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 789d50d84a2014dedb8aa0bb22261a7e, type: 3} m_Name: m_EditorClassIdentifier: + basePlacementDatas: + - baseId: 1 + placementTransform: {fileID: 0} + - baseId: 2 + placementTransform: {fileID: 0} + - baseId: 3 + placementTransform: {fileID: 0} + - baseId: 4 + placementTransform: {fileID: 0} --- !u!1001 &574642922 PrefabInstance: m_ObjectHideFlags: 0 @@ -2278,6 +2300,10 @@ PrefabInstance: propertyPath: m_Name value: Player3Mesh (3) objectReference: {fileID: 0} + - target: {fileID: 7993275380040288456, guid: 195e8a45a36974637bff1dab6791e632, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 7993275380040288459, guid: 195e8a45a36974637bff1dab6791e632, type: 3} propertyPath: m_RootOrder value: 3 @@ -2424,79 +2450,6 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 12 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1001 &588510567 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 868479585} - m_Modifications: - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_RootOrder - value: 24 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalPosition.x - value: -18.5 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalPosition.z - value: 4.17 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728427, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_Name - value: Tile (25) - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} ---- !u!4 &588510568 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - m_PrefabInstance: {fileID: 588510567} - m_PrefabAsset: {fileID: 0} ---- !u!114 &588510569 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 2960581183699728421, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - m_PrefabInstance: {fileID: 588510567} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: be69a8cfb3b2940308cbac570565e629, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!1001 &589480314 PrefabInstance: m_ObjectHideFlags: 0 @@ -2725,6 +2678,152 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &633028659 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 868479585} + m_Modifications: + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_RootOrder + value: 31 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalPosition.x + value: -3.57 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalPosition.z + value: 17.51 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728427, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_Name + value: SafeTile (32) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} +--- !u!4 &633028660 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + m_PrefabInstance: {fileID: 633028659} + m_PrefabAsset: {fileID: 0} +--- !u!114 &633028661 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 5376650559335035371, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + m_PrefabInstance: {fileID: 633028659} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 114033ff484fb492290f3118615ad4d8, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1001 &685821224 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 868479585} + m_Modifications: + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_RootOrder + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalPosition.x + value: 3.78 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalPosition.z + value: -19.67 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728427, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_Name + value: SafeTile (9) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} +--- !u!4 &685821225 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + m_PrefabInstance: {fileID: 685821224} + m_PrefabAsset: {fileID: 0} +--- !u!114 &685821226 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 5376650559335035371, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + m_PrefabInstance: {fileID: 685821224} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 114033ff484fb492290f3118615ad4d8, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &705507993 GameObject: m_ObjectHideFlags: 0 @@ -2903,6 +3002,10 @@ PrefabInstance: propertyPath: m_Name value: Player2Mesh (2) objectReference: {fileID: 0} + - target: {fileID: 7993275380040288456, guid: 81ea53750af48479785425335304fdc7, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 7993275380040288459, guid: 81ea53750af48479785425335304fdc7, type: 3} propertyPath: m_RootOrder value: 2 @@ -3250,6 +3353,10 @@ PrefabInstance: propertyPath: m_Name value: Player3Mesh (1) objectReference: {fileID: 0} + - target: {fileID: 7993275380040288456, guid: 195e8a45a36974637bff1dab6791e632, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 7993275380040288459, guid: 195e8a45a36974637bff1dab6791e632, type: 3} propertyPath: m_RootOrder value: 1 @@ -3391,7 +3498,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 1111717751} + - {fileID: 1783132120} - {fileID: 574642923} - {fileID: 2104728855} - {fileID: 1967942859} @@ -3399,42 +3506,42 @@ Transform: - {fileID: 592417911} - {fileID: 422715582} - {fileID: 1150102938} - - {fileID: 101689199} + - {fileID: 685821225} - {fileID: 101156878} - {fileID: 987559891} - {fileID: 2140650221} - - {fileID: 78677765} + - {fileID: 320946491} - {fileID: 1189037852} - {fileID: 392842369} - {fileID: 1603574048} - {fileID: 1161887154} - {fileID: 885830940} - {fileID: 1521635478} - - {fileID: 1113264821} + - {fileID: 1357001625} - {fileID: 2028020625} - {fileID: 1155878567} - {fileID: 1097540418} - {fileID: 980422151} - - {fileID: 588510568} + - {fileID: 2053009712} - {fileID: 1467637301} - {fileID: 1299632836} - {fileID: 752268679} - {fileID: 972663953} - {fileID: 2022458187} - {fileID: 333337581} - - {fileID: 1675545742} + - {fileID: 633028660} - {fileID: 1079000208} - {fileID: 2070027127} - {fileID: 154086394} - {fileID: 508018014} - - {fileID: 1057001765} + - {fileID: 209365734} - {fileID: 130985509} - {fileID: 1235999367} - {fileID: 1175256389} - {fileID: 1178589473} - {fileID: 5889602} - {fileID: 177256213} - - {fileID: 1934520237} + - {fileID: 1615634420} - {fileID: 819908558} - {fileID: 2090781613} - {fileID: 707424673} @@ -3613,25 +3720,29 @@ MonoBehaviour: startIndex: 0 endIndex: 46 playersParent: {fileID: 1373272158} - playerPawns: [] + playerPawnsDict: [] + totalPawnsFinished: 0 - playerType: 1 playerCornerEntity: {fileID: 241691679} startIndex: 12 endIndex: 10 playersParent: {fileID: 1841959051} - playerPawns: [] + playerPawnsDict: [] + totalPawnsFinished: 0 - playerType: 2 playerCornerEntity: {fileID: 987201643} startIndex: 24 endIndex: 22 playersParent: {fileID: 1934858463} - playerPawns: [] + playerPawnsDict: [] + totalPawnsFinished: 0 - playerType: 3 playerCornerEntity: {fileID: 1251876826} startIndex: 36 endIndex: 34 playersParent: {fileID: 1094154913} - playerPawns: [] + playerPawnsDict: [] + totalPawnsFinished: 0 --- !u!1001 &923111009 PrefabInstance: m_ObjectHideFlags: 0 @@ -3767,6 +3878,10 @@ PrefabInstance: propertyPath: m_Name value: Player1Mesh (3) objectReference: {fileID: 0} + - target: {fileID: 7993275380040288456, guid: 9ae10e3fa7db64f47af31a5f0ebbecdc, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 7993275380040288459, guid: 9ae10e3fa7db64f47af31a5f0ebbecdc, type: 3} propertyPath: m_RootOrder value: 3 @@ -4152,7 +4267,7 @@ GameObject: - component: {fileID: 987201644} - component: {fileID: 987201645} m_Layer: 0 - m_Name: Player3 + m_Name: Player3Base m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -4187,6 +4302,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 789d50d84a2014dedb8aa0bb22261a7e, type: 3} m_Name: m_EditorClassIdentifier: + basePlacementDatas: [] --- !u!1001 &987559890 PrefabInstance: m_ObjectHideFlags: 0 @@ -4504,6 +4620,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: f06aabb5d8a9f441e99482ccf020f10c, type: 3} m_Name: m_EditorClassIdentifier: + diceTestValue: 6 --- !u!1001 &1041368837 PrefabInstance: m_ObjectHideFlags: 0 @@ -4566,79 +4683,6 @@ Transform: m_CorrespondingSourceObject: {fileID: 2960581183699728426, guid: 094ea6ce63e654b22964fec2f6344c8a, type: 3} m_PrefabInstance: {fileID: 1041368837} m_PrefabAsset: {fileID: 0} ---- !u!1001 &1057001764 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 868479585} - m_Modifications: - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_RootOrder - value: 36 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalPosition.x - value: 4 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalPosition.z - value: 20.58 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728427, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_Name - value: Tile (37) - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} ---- !u!4 &1057001765 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - m_PrefabInstance: {fileID: 1057001764} - m_PrefabAsset: {fileID: 0} ---- !u!114 &1057001766 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 2960581183699728421, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - m_PrefabInstance: {fileID: 1057001764} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: be69a8cfb3b2940308cbac570565e629, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!1 &1070491403 GameObject: m_ObjectHideFlags: 0 @@ -4988,95 +5032,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 21bc1be624c3645a2a713aa5171fc9aa, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!4 &1111717751 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - m_PrefabInstance: {fileID: 2960581184744312669} - m_PrefabAsset: {fileID: 0} ---- !u!114 &1111717752 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 2960581183699728421, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - m_PrefabInstance: {fileID: 2960581184744312669} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: be69a8cfb3b2940308cbac570565e629, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!1001 &1113264820 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 868479585} - m_Modifications: - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_RootOrder - value: 19 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalPosition.x - value: -15.03 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalPosition.z - value: -3.48 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728427, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_Name - value: Tile (20) - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} ---- !u!4 &1113264821 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - m_PrefabInstance: {fileID: 1113264820} - m_PrefabAsset: {fileID: 0} ---- !u!114 &1113264822 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 2960581183699728421, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - m_PrefabInstance: {fileID: 1113264820} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: be69a8cfb3b2940308cbac570565e629, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!1001 &1118588830 PrefabInstance: m_ObjectHideFlags: 0 @@ -5754,7 +5709,7 @@ GameObject: - component: {fileID: 1251876827} - component: {fileID: 1251876828} m_Layer: 0 - m_Name: Player4 + m_Name: Player4Base m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -5789,6 +5744,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 789d50d84a2014dedb8aa0bb22261a7e, type: 3} m_Name: m_EditorClassIdentifier: + basePlacementDatas: [] --- !u!1001 &1266600967 PrefabInstance: m_ObjectHideFlags: 0 @@ -5800,6 +5756,10 @@ PrefabInstance: propertyPath: m_Name value: Player4Mesh (1) objectReference: {fileID: 0} + - target: {fileID: 7993275380040288456, guid: 28a2e17f2aa28459099c180350293bf6, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 7993275380040288459, guid: 28a2e17f2aa28459099c180350293bf6, type: 3} propertyPath: m_RootOrder value: 1 @@ -5862,6 +5822,10 @@ PrefabInstance: propertyPath: m_Name value: Player2Mesh (1) objectReference: {fileID: 0} + - target: {fileID: 7993275380040288456, guid: 81ea53750af48479785425335304fdc7, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 7993275380040288459, guid: 81ea53750af48479785425335304fdc7, type: 3} propertyPath: m_RootOrder value: 1 @@ -6098,6 +6062,79 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &1357001624 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 868479585} + m_Modifications: + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_RootOrder + value: 19 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalPosition.x + value: -15.03 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalPosition.z + value: -3.48 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728427, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_Name + value: SafeTile (20) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} +--- !u!4 &1357001625 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + m_PrefabInstance: {fileID: 1357001624} + m_PrefabAsset: {fileID: 0} +--- !u!114 &1357001626 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 5376650559335035371, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + m_PrefabInstance: {fileID: 1357001624} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 114033ff484fb492290f3118615ad4d8, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &1373272157 GameObject: m_ObjectHideFlags: 0 @@ -6646,6 +6683,79 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: be69a8cfb3b2940308cbac570565e629, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1001 &1615634419 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 868479585} + m_Modifications: + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_RootOrder + value: 43 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalPosition.x + value: 15.16 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalPosition.z + value: 4.01 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728427, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_Name + value: SafeTile (44) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} +--- !u!4 &1615634420 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + m_PrefabInstance: {fileID: 1615634419} + m_PrefabAsset: {fileID: 0} +--- !u!114 &1615634421 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 5376650559335035371, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + m_PrefabInstance: {fileID: 1615634419} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 114033ff484fb492290f3118615ad4d8, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &1665297693 PrefabInstance: m_ObjectHideFlags: 0 @@ -6708,79 +6818,6 @@ Transform: m_CorrespondingSourceObject: {fileID: 7993275380040288459, guid: 28a2e17f2aa28459099c180350293bf6, type: 3} m_PrefabInstance: {fileID: 1665297693} m_PrefabAsset: {fileID: 0} ---- !u!1001 &1675545741 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 868479585} - m_Modifications: - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_RootOrder - value: 31 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalPosition.x - value: -3.57 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalPosition.z - value: 17.51 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728427, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_Name - value: Tile (32) - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} ---- !u!4 &1675545742 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - m_PrefabInstance: {fileID: 1675545741} - m_PrefabAsset: {fileID: 0} ---- !u!114 &1675545743 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 2960581183699728421, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - m_PrefabInstance: {fileID: 1675545741} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: be69a8cfb3b2940308cbac570565e629, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!1001 &1691461916 PrefabInstance: m_ObjectHideFlags: 0 @@ -6792,6 +6829,10 @@ PrefabInstance: propertyPath: m_Name value: Player4Mesh (2) objectReference: {fileID: 0} + - target: {fileID: 7993275380040288456, guid: 28a2e17f2aa28459099c180350293bf6, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 7993275380040288459, guid: 28a2e17f2aa28459099c180350293bf6, type: 3} propertyPath: m_RootOrder value: 2 @@ -7064,6 +7105,79 @@ Transform: m_Father: {fileID: 1251876827} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &1783132119 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 868479585} + m_Modifications: + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalPosition.x + value: 18.83 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalPosition.z + value: -3.42 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728427, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_Name + value: SafeTile (1) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} +--- !u!4 &1783132120 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + m_PrefabInstance: {fileID: 1783132119} + m_PrefabAsset: {fileID: 0} +--- !u!114 &1783132121 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 5376650559335035371, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + m_PrefabInstance: {fileID: 1783132119} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 114033ff484fb492290f3118615ad4d8, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &1795608036 GameObject: m_ObjectHideFlags: 0 @@ -7176,6 +7290,10 @@ PrefabInstance: propertyPath: m_Name value: Player2Mesh (3) objectReference: {fileID: 0} + - target: {fileID: 7993275380040288456, guid: 81ea53750af48479785425335304fdc7, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 7993275380040288459, guid: 81ea53750af48479785425335304fdc7, type: 3} propertyPath: m_RootOrder value: 3 @@ -7227,79 +7345,6 @@ Transform: m_CorrespondingSourceObject: {fileID: 7993275380040288459, guid: 81ea53750af48479785425335304fdc7, type: 3} m_PrefabInstance: {fileID: 1900156992} m_PrefabAsset: {fileID: 0} ---- !u!1001 &1934520236 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 868479585} - m_Modifications: - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_RootOrder - value: 43 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalPosition.x - value: 15.16 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalPosition.z - value: 4.01 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728427, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_Name - value: Tile (44) - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} ---- !u!4 &1934520237 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - m_PrefabInstance: {fileID: 1934520236} - m_PrefabAsset: {fileID: 0} ---- !u!114 &1934520238 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 2960581183699728421, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - m_PrefabInstance: {fileID: 1934520236} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: be69a8cfb3b2940308cbac570565e629, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!1 &1934858462 GameObject: m_ObjectHideFlags: 0 @@ -7380,7 +7425,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: generalTiles: - - {fileID: 1111717752} + - {fileID: 1783132121} - {fileID: 574642924} - {fileID: 2104728856} - {fileID: 1967942860} @@ -7388,42 +7433,42 @@ MonoBehaviour: - {fileID: 592417912} - {fileID: 422715583} - {fileID: 1150102939} - - {fileID: 101689200} + - {fileID: 685821226} - {fileID: 101156879} - {fileID: 987559892} - {fileID: 2140650222} - - {fileID: 78677766} + - {fileID: 320946492} - {fileID: 1189037853} - {fileID: 392842370} - {fileID: 1603574049} - {fileID: 1161887155} - {fileID: 885830941} - {fileID: 1521635479} - - {fileID: 1113264822} + - {fileID: 1357001626} - {fileID: 2028020626} - {fileID: 1155878568} - {fileID: 1097540419} - {fileID: 980422152} - - {fileID: 588510569} + - {fileID: 2053009713} - {fileID: 1467637302} - {fileID: 1299632837} - {fileID: 752268680} - {fileID: 972663954} - {fileID: 2022458188} - {fileID: 333337582} - - {fileID: 1675545743} + - {fileID: 633028661} - {fileID: 1079000209} - {fileID: 2070027128} - {fileID: 154086395} - {fileID: 508018015} - - {fileID: 1057001766} + - {fileID: 209365735} - {fileID: 130985510} - {fileID: 1235999368} - {fileID: 1175256390} - {fileID: 1178589474} - {fileID: 5889603} - {fileID: 177256214} - - {fileID: 1934520238} + - {fileID: 1615634421} - {fileID: 819908559} - {fileID: 2090781614} - {fileID: 707424674} @@ -7521,6 +7566,10 @@ PrefabInstance: propertyPath: m_Name value: Player4Mesh (3) objectReference: {fileID: 0} + - target: {fileID: 7993275380040288456, guid: 28a2e17f2aa28459099c180350293bf6, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 7993275380040288459, guid: 28a2e17f2aa28459099c180350293bf6, type: 3} propertyPath: m_RootOrder value: 3 @@ -7811,6 +7860,79 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: be69a8cfb3b2940308cbac570565e629, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1001 &2053009711 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 868479585} + m_Modifications: + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_RootOrder + value: 24 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalPosition.x + value: -18.5 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalPosition.z + value: 4.17 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2960581183699728427, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + propertyPath: m_Name + value: SafeTile (25) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} +--- !u!4 &2053009712 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 2960581183699728426, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + m_PrefabInstance: {fileID: 2053009711} + m_PrefabAsset: {fileID: 0} +--- !u!114 &2053009713 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 5376650559335035371, guid: 13346690e7c8b414cb171f800c32ec57, type: 3} + m_PrefabInstance: {fileID: 2053009711} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 114033ff484fb492290f3118615ad4d8, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &2070027126 PrefabInstance: m_ObjectHideFlags: 0 @@ -8103,60 +8225,3 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: be69a8cfb3b2940308cbac570565e629, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!1001 &2960581184744312669 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 868479585} - m_Modifications: - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_RootOrder - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalPosition.x - value: 18.83 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalPosition.z - value: -3.42 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728426, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2960581183699728427, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} - propertyPath: m_Name - value: Tile (1) - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: bc986262997c641d9b5bcff22bd100c1, type: 3} diff --git a/Assets/Scripts/Gameplay/GameplayManager.cs b/Assets/Scripts/Gameplay/GameplayManager.cs index 299eb3c..42b75d7 100644 --- a/Assets/Scripts/Gameplay/GameplayManager.cs +++ b/Assets/Scripts/Gameplay/GameplayManager.cs @@ -1,3 +1,4 @@ +using System; using System.Collections.Generic; using System.Linq; using UnityEngine; @@ -14,11 +15,11 @@ public enum PlayerTypes public class PlayerGameData { public PlayerTypes playerType; - public GameObject playerCornerEntity; public int startIndex; public int endIndex; public Transform playersParent; - public List playerPawns; + public List playerPawnsDict; + public int totalPawnsFinished = 0; } public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader @@ -29,8 +30,9 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader [SerializeField] private Material selectMat; [SerializeField] private PlayerGameData[] playerGameDatas; + [SerializeField] private PlayerBaseHandler playerBaseHandler; - private PlayerTypes currentPlayerTurn; + private PlayerTypes currentPlayerTypeTurn; private int currentPlayerTurnIndex = 0; private List playerTypes = new List(); @@ -47,7 +49,7 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader get; private set; } - private bool HasRolledSix = false; + private bool CanRollDiceAgain = false; // used for when you get a 6 or when you reach the finish point public void Initialize() { @@ -59,39 +61,38 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader tilesManager = InterfaceManager.Instance.GetInterfaceInstance(); CanRollDice = true; - InitCurrentGamePlayerInfo( - new List { PlayerTypes.Player1, PlayerTypes.Player2, PlayerTypes.Player3, PlayerTypes.Player4 }); + playerTypes = new List { PlayerTypes.Player1, PlayerTypes.Player2, PlayerTypes.Player3, PlayerTypes.Player4 }; + + playerBaseHandler.InitPlayerTypes(playerTypes); + InitCurrentGamePlayerInfo(); } // TODO :: Call based on 2P/3P/4P - public void InitCurrentGamePlayerInfo(List playerTypes) + public void InitCurrentGamePlayerInfo() { - this.playerTypes = playerTypes; - currentPlayerTurn = playerTypes[currentPlayerTurnIndex]; + currentPlayerTypeTurn = playerTypes[currentPlayerTurnIndex]; // initialize the board based on the player types foreach (PlayerGameData playerGameData in playerGameDatas) { if (!playerTypes.Contains(playerGameData.playerType)) - { - playerGameData.playerCornerEntity.SetActive(false); - } - else - { - playerGameDatasDict.Add(playerGameData.playerType, playerGameData); + continue; - playerGameDatasDict[playerGameData.playerType].playerPawns = new List(); - foreach (Transform playerPawnChild in playerGameData.playersParent) - { - playerGameDatasDict[playerGameData.playerType].playerPawns.Add(playerPawnChild.GetComponent()); - } + playerGameDatasDict.Add(playerGameData.playerType, playerGameData); + playerGameDatasDict[playerGameData.playerType].playerPawnsDict = new List(); + + foreach (Transform playerPawnChild in playerGameData.playersParent) + { + if (!playerPawnChild.gameObject.activeInHierarchy) continue; + + playerGameDatasDict[playerGameData.playerType].playerPawnsDict.Add(playerPawnChild.GetComponent()); } } } public void EnablePlayerSelectionStates(bool state) { - foreach (PlayerPawn playerPawn in playerGameDatasDict[currentPlayerTurn].playerPawns) + foreach (var playerPawn in playerGameDatasDict[currentPlayerTypeTurn].playerPawnsDict) { if (playerPawn.GetPlayerState() == PlayerState.InFinishingPath) continue; @@ -104,7 +105,7 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader CanRollDice = false; // add core dice logic here - Debug.Log($"LUDO :: rolledVal: {rolledVal}"); + Debug.Log($"Tile Index :: LUDO :: rolledVal: {rolledVal} :: {currentPlayerTypeTurn}"); diceRolledValue = rolledVal; if (rolledVal == Ludo_3D_Constants.Max_Dice_Rolls) @@ -113,7 +114,23 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader // also play a simple animation before selecting EnablePlayerSelectionStates(true); - HasRolledSix = true; + CanRollDiceAgain = true; + + bool AreAllPawnsInFinishingPath = false; + foreach (var pawn in playerGameDatasDict[currentPlayerTypeTurn].playerPawnsDict) + { + if (pawn.GetPlayerState() == PlayerState.InFinishingPath && pawn.GetPlayerState() != PlayerState.HasFinished) + { + AreAllPawnsInFinishingPath = true; + continue; + } + + AreAllPawnsInFinishingPath = false; + break; + } + + if (AreAllPawnsInFinishingPath) + CanRollDice = true; pointerMeshRend.material = selectMat; // pointerMeshRend.materials[0] = selectMat; @@ -121,33 +138,41 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader else // if there are any other pawns that are in safe or moving state { // for player's logic - IEnumerable availPlayers = playerGameDatasDict[currentPlayerTurn].playerPawns.Select(pawn => pawn) + IEnumerable availPlayers = playerGameDatasDict[currentPlayerTypeTurn].playerPawnsDict.Select(pawn => pawn) .Where(pawn => pawn.GetPlayerState() == PlayerState.InSafeZone || pawn.GetPlayerState() == PlayerState.Moving || pawn.GetPlayerState() == PlayerState.InFinishingPath); - + int customAvailPlayers = availPlayers.Count(); + foreach (PlayerPawn playerPawn in availPlayers) { Debug.Log($"## playerPawn.GetPlayerState(): {playerPawn.GetPlayerState()}"); if (playerPawn.GetPlayerState() == PlayerState.InFinishingPath) { - // TODO :: if rolled dice value <= rem tiles to complete in finishing path - // TODO :: playerPawn.SetPlayerSelectionState(true); - // if (diceRolledValue < 6 - playerPawn.CurrentTileIndex) // TODO :: Change hardcoded value - } - else - { - playerPawn.SetPlayerSelectionState(true); + if (diceRolledValue <= tilesManager.GetFinishingTileDataLength(currentPlayerTypeTurn) - (playerPawn.CurrentTileIndex + 1)) + { + playerPawn.SetPlayerSelectionState(true); + } + else + { + customAvailPlayers--; + } + + continue; } + + playerPawn.SetPlayerSelectionState(true); } - if (availPlayers.Count() < 1) + // if (availPlayers.Count() < 1) + Debug.Log($"CustomAvailablePlayers: {customAvailPlayers}"); + if (customAvailPlayers < 1) { SwitchPlayer(); CanRollDice = true; } - HasRolledSix = false; + CanRollDiceAgain = false; } } @@ -155,12 +180,14 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader { EnablePlayerSelectionStates(false); - PlayerGameData playerGameData = playerGameDatasDict[currentPlayerTurn]; + PlayerGameData playerGameData = playerGameDatasDict[currentPlayerTypeTurn]; if (playerPawn.GetPlayerState() == PlayerState.InHome) { + Tile targetTile = tilesManager.RetrieveTileBasedOnIndex(playerGameData.startIndex); + playerPawn.MoveToTile( - tilesManager.RetrieveTileBasedOnIndex(playerGameData.startIndex).transform.position, + GetAndInitPositionInsideSafeZone(playerPawn, targetTile), onComplete: () => { CanRollDice = true; @@ -169,90 +196,260 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader return; } - else if (playerPawn.GetPlayerState() == PlayerState.InSafeZone || playerPawn.GetPlayerState() == PlayerState.Moving - || playerPawn.GetPlayerState() == PlayerState.InFinishingPath) + else if (playerPawn.GetPlayerState() == PlayerState.InFinishingPath + || playerPawn.CurrentTileIndex == playerGameDatasDict[currentPlayerTypeTurn].endIndex) + { + int finishingPathIndex = GetNextFinishingTileIndex(playerPawn); + int targetIdx = finishingPathIndex + diceRolledValue > tilesManager.GetFinishingTileDataLength(currentPlayerTypeTurn) - 1 ? + tilesManager.GetFinishingTileDataLength(currentPlayerTypeTurn) - 1 : finishingPathIndex + diceRolledValue; + + Debug.Log($"TargetIdx: {targetIdx}"); + MoveThroughFinishingPath(playerPawn, finishingPathIndex, targetIdx); + } + else if (playerPawn.GetPlayerState() == PlayerState.InSafeZone || playerPawn.GetPlayerState() == PlayerState.Moving) { // move based on the dice value + Debug.Log($"Tile Index :: currentTileIndex: {playerPawn.CurrentTileIndex}"); + int nextTileIdx = GetNextGeneralTileIndex(playerPawn); + int targetIdx = playerPawn.CurrentTileIndex + diceRolledValue; - MoveThroughTiles(playerPawn, playerPawn.CurrentTileIndex + 1, targetIndex: playerPawn.CurrentTileIndex + diceRolledValue); + if (nextTileIdx == 0) + targetIdx = targetIdx - playerPawn.CurrentTileIndex; + + Tile currentSittingTile = tilesManager.RetrieveTileBasedOnIndex(playerPawn.CurrentTileIndex); + if (currentSittingTile.IsSafeZone) + { + SafeTile safeTile = (SafeTile)currentSittingTile; + safeTile.UpdateSafeZonePlayerData(currentPlayerTypeTurn, playerPawn); + + if (safeTile.PlayerTypesCount == 1) + { + PlayerTypes playerType = safeTile.GetFirstPlayerType(); + + var playerPawns = safeTile.GetPlayerPawns(playerType); + foreach (var pawn in playerPawns) + pawn.MoveToCustomTilePosition(safeTile.CenterPlacementPosition); + } + } + + MoveThroughTiles(playerPawn, nextTileIdx, targetIndex: targetIdx); } } - private void SwitchPlayer() + private int GetNextGeneralTileIndex(PlayerPawn playerPawn) { - if (!HasRolledSix) + return playerPawn.CurrentTileIndex == tilesManager.GetGeneralTilesLength() - 1 ? 0 : playerPawn.CurrentTileIndex + 1; + } + + private int GetNextFinishingTileIndex(PlayerPawn playerPawn) + { + return playerPawn.CurrentTileIndex > tilesManager.GetFinishingTileDataLength(currentPlayerTypeTurn) - 1 ? 0 : playerPawn.CurrentTileIndex + 1; + } + + private void SwitchPlayer(PlayerPawn playerPawn = null) + { + if (!CanRollDiceAgain) { - if (currentPlayerTurn == playerTypes[playerTypes.Count - 1]) + Debug.Log($"currentPlayerTurn: {currentPlayerTypeTurn}"); + Debug.Log($"currentPlayerTurnIndex: {currentPlayerTurnIndex}"); + + if (playerTypes.Count == 1) + { + Debug.LogError($"GAME IS OVER"); + return; + } + + if (currentPlayerTypeTurn == playerTypes[playerTypes.Count - 1]) { currentPlayerTurnIndex = 0; - currentPlayerTurn = playerTypes[currentPlayerTurnIndex]; + currentPlayerTypeTurn = playerTypes[currentPlayerTurnIndex]; } else { currentPlayerTurnIndex++; - currentPlayerTurn = playerTypes[currentPlayerTurnIndex]; - Debug.Log($"currentPlayerTurn: {currentPlayerTurn}"); - Debug.Log($"currentPlayerTurnIndex: {currentPlayerTurnIndex}"); + currentPlayerTypeTurn = playerTypes[currentPlayerTurnIndex]; } } - var tempPos = playerGameDatasDict[currentPlayerTurn].playerCornerEntity.transform.position; - pointerDebug.position = new Vector3(tempPos.x, 3f, tempPos.z); + // var tempPos = playerGameDatasDict[currentPlayerTypeTurn].playerCornerEntity.transform.position; + // pointerDebug.position = new Vector3(tempPos.x, 3f, tempPos.z); pointerMeshRend.material = turnMat; // pointerMeshRend.materials[0] = turnMat; + + if (playerPawn) + playerPawn.SetPlayerState(tilesManager.RetrieveTileBasedOnIndex(playerPawn.CurrentTileIndex).IsSafeZone ? PlayerState.InSafeZone : PlayerState.Moving); } private void MoveThroughTiles(PlayerPawn playerPawn, int index, int targetIndex) { - Tile tile = tilesManager.RetrieveTileBasedOnIndex(index); + Tile nextTile = tilesManager.RetrieveTileBasedOnIndex(index); + Vector3 targetPosition = nextTile.CenterPlacementPosition; + + Debug.Log($"Tile Index :: nextIndex: {index}, targetIndex: {targetIndex}, nextTileName: {nextTile.name}"); + + if (index == targetIndex) // if the target index is the safe zone only then apply the logic for rearranging pawns + { + Tile targetTile = tilesManager.RetrieveTileBasedOnIndex(targetIndex); + if (targetTile.IsSafeZone) + { + targetPosition = GetAndInitPositionInsideSafeZone(playerPawn, targetTile); + } + } + + Debug.Log($"tile targetPosition: {targetPosition}"); + playerPawn.MoveToTile( - tilesManager.RetrieveTileBasedOnIndex(index).transform.position, + targetPosition, onComplete: () => { - if (playerPawn.GetPlayerState() == PlayerState.InFinishingPath || index == playerGameDatasDict[currentPlayerTurn].endIndex) + diceRolledValue--; + Debug.Log($"DiceRolledValue: {diceRolledValue}"); + if (diceRolledValue > 0) { - // MoveThroughTiles(playerPawn, index, targetIndex); - Debug.Log($"IsMovingThroughFinishingPath({currentPlayerTurn}): {index + 1} :: {playerGameDatasDict[currentPlayerTurn].endIndex}"); - MoveThroughFinishingPath(playerPawn, 0, targetIndex - index); - } - else if (index + 1 <= targetIndex) - { - MoveThroughTiles(playerPawn, index + 1, targetIndex); + int nextTileIndex = GetNextGeneralTileIndex(playerPawn); + Debug.Log($"currentTileIndex: {playerPawn.CurrentTileIndex}, nextTileIndex: {nextTileIndex}, targetIndex: {targetIndex}"); + + if (playerPawn.GetPlayerState() == PlayerState.InFinishingPath || index == playerGameDatasDict[currentPlayerTypeTurn].endIndex) + { + // MoveThroughTiles(playerPawn, index, targetIndex); + Debug.Log($"TargetIdx: {targetIndex - index}"); + MoveThroughFinishingPath(playerPawn, 0, targetIndex - index); + } + else if (nextTileIndex <= targetIndex) + { + if (nextTileIndex == 0) + targetIndex = (targetIndex - playerPawn.CurrentTileIndex) - 1; + + MoveThroughTiles(playerPawn, nextTileIndex, targetIndex); + } } else { - if (tile.PlayerPawn != null) + // TODO :: Improve this logic, use a collection + if (!nextTile.IsSafeZone) { - // send this pawn back to base + if (nextTile.PlayerPawn != null) + { + // TODO :: Send existing pawn back to base. + // means there's already a pawn there, move him back to the base. + } + + nextTile.InitPlayerPawn(playerPawn, currentPlayerTypeTurn); } - tile.InitPlayerPawn(playerPawn); - SwitchPlayer(); + SwitchPlayer(playerPawn); + CanRollDice = true; } }, index); - - CanRollDice = true; - playerPawn.SetPlayerState(tilesManager.RetrieveTileBasedOnIndex(playerPawn.CurrentTileIndex).IsSafeZone ? PlayerState.InSafeZone : PlayerState.Moving); + } + + private Vector3 GetAndInitPositionInsideSafeZone(PlayerPawn playerPawn, Tile targetTile) + { + Vector3 targetPosition; + SafeTile targetSafeTile = (SafeTile)targetTile; + Debug.Log($"targetSafeTile.PlayerTypesCount: {targetSafeTile.PlayerTypesCount}"); + if (targetSafeTile.PlayerTypesCount == 1) + { + Debug.Log($"targetSafeTile.ContainsPlayerType(currentPlayerTypeTurn): {targetSafeTile.ContainsPlayerType(currentPlayerTypeTurn)}"); + if (!targetSafeTile.ContainsPlayerType(currentPlayerTypeTurn)) // means it is a new player type, the second one + { + PlayerTypes initialPlayerType = targetSafeTile.GetFirstPlayerType(); + + // rearrange already existing player from center position to it's saved transform + var playerPawns = targetSafeTile.GetPlayerPawns(initialPlayerType); + foreach (var pawn in playerPawns) + { + var placementPoint = targetSafeTile.GetPlacementPoint(initialPlayerType); + pawn.MoveToCustomTilePosition(placementPoint.position); + } + + targetSafeTile.InitPlayerPawn(playerPawn, currentPlayerTypeTurn); + targetPosition = targetSafeTile.GetPlacementPoint(currentPlayerTypeTurn).position; + } + else + { + targetSafeTile.InitPlayerPawn(playerPawn, currentPlayerTypeTurn); + targetPosition = targetTile.CenterPlacementPosition; + } + } + else + { + // TODO :: Check the data if it's consistent + Debug.Log($"targetSafeTile.ContainsPlayerType(currentPlayerTypeTurn): {targetSafeTile.ContainsPlayerType(currentPlayerTypeTurn)}"); + if (!targetSafeTile.ContainsPlayerType(currentPlayerTypeTurn)) + { + Debug.Log($"targetSafeTile.PlayerTypesCount: {targetSafeTile.PlayerTypesCount}"); + if (targetSafeTile.PlayerTypesCount < 1) // he is the only player that is being added to the safe zone + { + targetSafeTile.InitPlayerPawn(playerPawn, currentPlayerTypeTurn); + targetPosition = targetTile.CenterPlacementPosition; + } + else + { + targetSafeTile.InitPlayerPawn(playerPawn, currentPlayerTypeTurn); + targetPosition = targetSafeTile.GetPlacementPoint(currentPlayerTypeTurn).position; + } + } + else + { + targetSafeTile.InitPlayerPawn(playerPawn, currentPlayerTypeTurn); + targetPosition = targetSafeTile.GetPlacementPoint(currentPlayerTypeTurn).position; + } + } + + return targetPosition; } private void MoveThroughFinishingPath(PlayerPawn playerPawn, int index, int targetIndex) { playerPawn.SetPlayerState(PlayerState.InFinishingPath); playerPawn.MoveToTile( - tilesManager.RetrievePositionForFinishingTile(currentPlayerTurn, index).position, + tilesManager.RetrievePositionForFinishingTile(currentPlayerTypeTurn, index).position, onComplete: () => { - Debug.Log($"index: {index}, targetIndex: {targetIndex}"); - if (index + 1 < targetIndex) + diceRolledValue--; + + Debug.Log($"DiceRolledValue: {diceRolledValue}"); + if (diceRolledValue > 0) { - // MoveThroughTiles(playerPawn, index, targetIndex); - MoveThroughFinishingPath(playerPawn, index + 1, targetIndex); + int tileIndex = GetNextFinishingTileIndex(playerPawn); + Debug.Log($"tileIndex: {tileIndex}, targetIndex: {targetIndex}"); + if (tileIndex <= targetIndex) + { + // MoveThroughTiles(playerPawn, index, targetIndex); + MoveThroughFinishingPath(playerPawn, tileIndex, targetIndex); + } } else { - SwitchPlayer(); + if (playerPawn.CurrentTileIndex == tilesManager.GetFinishingTileDataLength(currentPlayerTypeTurn) - 1) + { + playerPawn.SetPlayerState(PlayerState.HasFinished); + playerGameDatasDict[currentPlayerTypeTurn].totalPawnsFinished++; + + if (playerGameDatasDict[currentPlayerTypeTurn].totalPawnsFinished == playerGameDatasDict[currentPlayerTypeTurn].playerPawnsDict.Count) + { + CanRollDiceAgain = false; + + SwitchPlayer(); + if (playerTypes.Contains(currentPlayerTypeTurn)) + playerTypes.Remove(currentPlayerTypeTurn); + + Debug.Log($"PlayerTypes: {playerTypes.Count}"); + } + else + { + CanRollDiceAgain = true; + } + } + else + { + SwitchPlayer(); + } + + CanRollDice = true; } }, index); diff --git a/Assets/Scripts/Gameplay/Player/PlayerBase.cs b/Assets/Scripts/Gameplay/Player/PlayerBase.cs index b935406..4bf0da6 100644 --- a/Assets/Scripts/Gameplay/Player/PlayerBase.cs +++ b/Assets/Scripts/Gameplay/Player/PlayerBase.cs @@ -1,15 +1,30 @@ using UnityEngine; +[System.Serializable] +public class BasePlacementData +{ + public int playerBaseId; + public Transform placementTransform; +} + public class PlayerBase : MonoBehaviour { - void Start() + [SerializeField] private PlayerTypes playerType; + [SerializeField] private BasePlacementData[] basePlacementDatas; + [SerializeField] private PlayerPawn[] playerPawns; + + public PlayerTypes GetPlayerType() => playerType; + + public void InitPlayerIds() { - + for (int idx = 0; idx < basePlacementDatas.Length; idx++) + { + playerPawns[idx].InitId(basePlacementDatas[idx].playerBaseId); + } } - // Update is called once per frame - void Update() + public BasePlacementData GetBasePlacementData(int idx) { - + return basePlacementDatas[idx]; } } diff --git a/Assets/Scripts/Gameplay/Player/PlayerPawn.cs b/Assets/Scripts/Gameplay/Player/PlayerPawn.cs index a78335c..0587042 100644 --- a/Assets/Scripts/Gameplay/Player/PlayerPawn.cs +++ b/Assets/Scripts/Gameplay/Player/PlayerPawn.cs @@ -21,6 +21,16 @@ public class PlayerPawn : MonoBehaviour get; private set; } + public int PlayerId + { + get; private set; + } + + public int BaseId + { + get; private set; + } + private GameplayManager gameplayManager; public void SetPlayerSelectionState(bool state) @@ -32,9 +42,9 @@ public class PlayerPawn : MonoBehaviour } } - public void CheckCurrentTileIndex(int maxTiles) + public void SetCurrentTileIndex(int tileIndex) { - CurrentTileIndex = CurrentTileIndex == maxTiles ? 0 : CurrentTileIndex; + CurrentTileIndex = tileIndex; } public void MoveToTile(Vector3 startingPoint, Action onComplete, int tileIndex) @@ -43,6 +53,11 @@ public class PlayerPawn : MonoBehaviour transform.DOMove(startingPoint, 0.1f).onComplete = () => onComplete?.Invoke(); } + public void MoveToCustomTilePosition(Vector3 targetPoint) + { + transform.DOMove(targetPoint, 0.1f); + } + // when he is defeated public void MoveBackToHome() { @@ -68,4 +83,9 @@ public class PlayerPawn : MonoBehaviour { gameplayManager = gameplayManager ?? InterfaceManager.Instance.GetInterfaceInstance(); } + + public void InitId(int id) + { + PlayerId = id; + } } diff --git a/Assets/Scripts/Input/DiceRoller.cs b/Assets/Scripts/Input/DiceRoller.cs index 175bc93..886feeb 100644 --- a/Assets/Scripts/Input/DiceRoller.cs +++ b/Assets/Scripts/Input/DiceRoller.cs @@ -4,6 +4,8 @@ using UnityEngine; public class DiceRoller : MonoBehaviour { + [SerializeField] private int diceTestValue = 0; + private InputManager inputManager; private void OnMouseDown() @@ -14,9 +16,18 @@ public class DiceRoller : MonoBehaviour OnDiceRolled(); } + private void Update() + { + inputManager = inputManager == null ? InterfaceManager.Instance?.GetInterfaceInstance() : inputManager; + if (!inputManager.GameplayManager.CanRollDice) return; + + if (Input.GetKeyDown(KeyCode.Space)) + OnDiceRolled(); + } + private void OnDiceRolled() { - int currentRolledVal = Random.Range(1, Ludo_3D_Constants.Max_Dice_Rolls + 1); + int currentRolledVal = diceTestValue != 0 ? diceTestValue : Random.Range(1, Ludo_3D_Constants.Max_Dice_Rolls + 1); inputManager.SetDiceRollValue(currentRolledVal); } } diff --git a/Assets/Scripts/Tile/SafeTile.cs b/Assets/Scripts/Tile/SafeTile.cs new file mode 100644 index 0000000..939c93e --- /dev/null +++ b/Assets/Scripts/Tile/SafeTile.cs @@ -0,0 +1,89 @@ +using UnityEngine; +using System.Linq; +using System.Collections.Generic; + +public class SafeTile : Tile +{ + [SerializeField] private Transform centerPlacementPoint; + [SerializeField] private Transform[] placementPoints; + + protected Queue placementQueue = new Queue(); + protected Dictionary playerTypesDict = new Dictionary(); + + public int PlayerTypesCount => playerTypesDict.Count; + public bool HasMoreThanOnePlayerType => playerTypesDict.Count > 1; + public List GetPlayerPawns(PlayerTypes playerType) => playerTypesDict[playerType].playerPawns.Values.ToList(); + + public bool ContainsPlayerType(PlayerTypes playerType) => playerTypesDict.ContainsKey(playerType); + + private void Awake() + { + foreach (var placement in placementPoints) + { + placementQueue.Enqueue(placement); + } + } + + public override void InitPlayerPawn(PlayerPawn playerPawn, PlayerTypes playerType) + { + // PlayerPawn = playerPawn; + if (!playerTypesDict.ContainsKey(playerType)) + { + playerTypesDict.Add( + playerType, + new PlayerTileData { playerCount = 1, + playerPawns = new Dictionary() + }); + + playerTypesDict[playerType].playerPawns.Add(playerPawn.PlayerId, playerPawn); + playerTypesDict[playerType].commonPlacementTransform = placementQueue.Dequeue(); + + Debug.Log($"targetSafeTile. Adding player {playerType} {playerTypesDict[playerType].playerCount} tileName: {name}"); + } + else + { + playerTypesDict[playerType].playerCount++; + Debug.Log($"targetSafeTile. Adding player {playerType} {playerTypesDict[playerType].playerCount}, tileName: {name}"); + playerTypesDict[playerType].playerPawns.Add(playerPawn.PlayerId, playerPawn); + } + } + + public void UpdateSafeZonePlayerData(PlayerTypes playerType, PlayerPawn playerPawn) + { + if (playerTypesDict.ContainsKey(playerType)) + { + if (playerTypesDict[playerType].playerCount > 0) + { + Debug.Log($"targetSafeTile. Removing player {playerType} {playerTypesDict[playerType].playerCount}, tileName: {name}"); + playerTypesDict[playerType].playerCount--; + Debug.Log($"targetSafeTile. Removing player {playerType} after: {playerTypesDict[playerType].playerCount}"); + playerTypesDict[playerType].playerPawns.Remove(playerPawn.PlayerId); + + if (playerTypesDict[playerType].playerCount == 0) + { + placementQueue.Enqueue(playerTypesDict[playerType].commonPlacementTransform); + playerTypesDict.Remove(playerType); + Debug.Log($"targetSafeTile. Removing player {playerType}"); + lastOccupiedIndex--; + } + } + } + } + + public PlayerTypes GetFirstPlayerType() => playerTypesDict.Keys.FirstOrDefault(); + + public int GetPlayerPawnsCountInTile(PlayerTypes playerType) + { + return playerTypesDict[playerType].playerPawns.Count; + } + + public PlayerPawn IterateAndGetPlayerPawn(PlayerTypes playerType, int index) + { + return playerTypesDict[playerType].playerPawns[index + 1]; + } + + public Transform GetPlacementPoint(PlayerTypes playerType) + { + return playerTypesDict[playerType].commonPlacementTransform; + } +} diff --git a/Assets/Scripts/Tile/SafeTile.cs.meta b/Assets/Scripts/Tile/SafeTile.cs.meta new file mode 100644 index 0000000..cd827bc --- /dev/null +++ b/Assets/Scripts/Tile/SafeTile.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 114033ff484fb492290f3118615ad4d8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Tile/Tile.cs b/Assets/Scripts/Tile/Tile.cs index e381473..fd84884 100644 --- a/Assets/Scripts/Tile/Tile.cs +++ b/Assets/Scripts/Tile/Tile.cs @@ -1,16 +1,37 @@ using UnityEngine; +using System.Collections.Generic; + +[System.Serializable] +public class PlayerPlacementData +{ + public PlayerPawn pawn; + +} + +[System.Serializable] +public class PlayerTileData +{ + public int playerCount; + public Transform commonPlacementTransform; + public Dictionary playerPawns; +} public class Tile : MonoBehaviour { - [SerializeField] private bool isSafeZone = false; - public PlayerPawn PlayerPawn + [SerializeField] protected bool isSafeZone = false; + + public bool IsSafeZone => isSafeZone; + + public Vector3 CenterPlacementPosition => transform.position; + + protected int lastOccupiedIndex = 0; + + public PlayerPawn PlayerPawn // Change implementation { get; private set; } - public bool IsSafeZone => isSafeZone; - - public void InitPlayerPawn(PlayerPawn playerPawn) + public virtual void InitPlayerPawn(PlayerPawn playerPawn, PlayerTypes playerType) { PlayerPawn = playerPawn; } diff --git a/Assets/Scripts/Tile/TilesManager.cs b/Assets/Scripts/Tile/TilesManager.cs index e0cc9e6..935455b 100644 --- a/Assets/Scripts/Tile/TilesManager.cs +++ b/Assets/Scripts/Tile/TilesManager.cs @@ -17,10 +17,6 @@ public class TilesManager : MonoBehaviour, IBootLoader, IDataLoader, IBase [SerializeField] private TileData[] tileDatas; private GameplayManager gameplayManager; - public int FinishingTileDataLength - { - get; private set; - } private Dictionary> finishingTileDataPairs = new Dictionary>(); @@ -42,16 +38,23 @@ public class TilesManager : MonoBehaviour, IBootLoader, IDataLoader, IBase finishingTileDataPairs[tileData.playerType].Add(child); } } - - // FinishingTileDataLength = finishingTileDataPairs.FirstOrDefault().Value.Count; } + public int GetFinishingTileDataLength(PlayerTypes playerType) => finishingTileDataPairs[playerType].Count; + public int GetGeneralTilesLength() => generalTiles.Length; public Tile RetrieveTileBasedOnIndex(int index) { + Debug.Log($"RetrieveTileBasedOnIndex: Index: {index}"); - return index == generalTiles.Length ? generalTiles[0] : generalTiles[index]; + Tile tile = index == generalTiles.Length ? generalTiles[0] : generalTiles[index]; + // if (tile.IsSafeZone) + // { + // return (SafeTile)tile; + // } + + return tile; } public Transform RetrievePositionForFinishingTile(PlayerTypes playerType, int index)