From 464e5fc46ce742e3882587877709642811322700 Mon Sep 17 00:00:00 2001 From: ashby-alantrix Date: Mon, 26 Jan 2026 13:03:50 +0530 Subject: [PATCH] Changes for player base logic. --- Assets/Scenes/Game.unity | 293 ++++++++++++++++-- Assets/Scripts/Gameplay/GameplayManager.cs | 19 +- Assets/Scripts/Gameplay/Player/PlayerBase.cs | 8 +- .../Gameplay/Player}/PlayerBaseHandler.cs | 13 +- .../Player}/PlayerBaseHandler.cs.meta | 0 Assets/Scripts/Gameplay/Player/PlayerPawn.cs | 8 +- Assets/Scripts/Tile/Tile.cs | 5 + ProjectSettings/ProjectSettings.asset | 18 +- 8 files changed, 326 insertions(+), 38 deletions(-) rename Assets/{ => Scripts/Gameplay/Player}/PlayerBaseHandler.cs (57%) rename Assets/{ => Scripts/Gameplay/Player}/PlayerBaseHandler.cs.meta (100%) diff --git a/Assets/Scenes/Game.unity b/Assets/Scenes/Game.unity index 9595249..3033393 100644 --- a/Assets/Scenes/Game.unity +++ b/Assets/Scenes/Game.unity @@ -1076,7 +1076,21 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 789d50d84a2014dedb8aa0bb22261a7e, type: 3} m_Name: m_EditorClassIdentifier: - basePlacementDatas: [] + playerType: 1 + basePlacementDatas: + - playerBaseId: 1 + placementTransform: {fileID: 965030346} + - playerBaseId: 2 + placementTransform: {fileID: 728473895} + - playerBaseId: 3 + placementTransform: {fileID: 2023317272} + - playerBaseId: 4 + placementTransform: {fileID: 1097779050} + playerPawns: + - {fileID: 867499714} + - {fileID: 1284410036} + - {fileID: 713878048} + - {fileID: 1900156994} --- !u!1 &257080519 GameObject: m_ObjectHideFlags: 0 @@ -1267,6 +1281,17 @@ Transform: m_CorrespondingSourceObject: {fileID: 7993275380040288459, guid: 9ae10e3fa7db64f47af31a5f0ebbecdc, type: 3} m_PrefabInstance: {fileID: 285587083} m_PrefabAsset: {fileID: 0} +--- !u!114 &285587085 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 8373871663967812526, guid: 9ae10e3fa7db64f47af31a5f0ebbecdc, type: 3} + m_PrefabInstance: {fileID: 285587083} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da493b8dbb3aa475abf11f31549b9293, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &320946490 PrefabInstance: m_ObjectHideFlags: 0 @@ -1406,6 +1431,17 @@ Transform: m_CorrespondingSourceObject: {fileID: 7993275380040288459, guid: 9ae10e3fa7db64f47af31a5f0ebbecdc, type: 3} m_PrefabInstance: {fileID: 332604772} m_PrefabAsset: {fileID: 0} +--- !u!114 &332604774 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 8373871663967812526, guid: 9ae10e3fa7db64f47af31a5f0ebbecdc, type: 3} + m_PrefabInstance: {fileID: 332604772} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da493b8dbb3aa475abf11f31549b9293, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &333337580 PrefabInstance: m_ObjectHideFlags: 0 @@ -1795,6 +1831,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 433034050} + - component: {fileID: 433034051} m_Layer: 0 m_Name: PlayerBases m_TagString: Untagged @@ -1821,6 +1858,23 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 13 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &433034051 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 433034049} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 647207b7c72d24ccaaebc10900c23d2b, type: 3} + m_Name: + m_EditorClassIdentifier: + playerBases: + - {fileID: 574007536} + - {fileID: 241691681} + - {fileID: 987201645} + - {fileID: 1251876828} --- !u!1001 &465243407 PrefabInstance: m_ObjectHideFlags: 0 @@ -2161,6 +2215,17 @@ Transform: m_CorrespondingSourceObject: {fileID: 7993275380040288459, guid: 195e8a45a36974637bff1dab6791e632, type: 3} m_PrefabInstance: {fileID: 515214452} m_PrefabAsset: {fileID: 0} +--- !u!114 &515214454 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: -2904904340618941697, guid: 195e8a45a36974637bff1dab6791e632, type: 3} + m_PrefabInstance: {fileID: 515214452} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da493b8dbb3aa475abf11f31549b9293, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &574007534 GameObject: m_ObjectHideFlags: 0 @@ -2207,15 +2272,21 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 789d50d84a2014dedb8aa0bb22261a7e, type: 3} m_Name: m_EditorClassIdentifier: + playerType: 0 basePlacementDatas: - - baseId: 1 - placementTransform: {fileID: 0} - - baseId: 2 - placementTransform: {fileID: 0} - - baseId: 3 - placementTransform: {fileID: 0} - - baseId: 4 - placementTransform: {fileID: 0} + - playerBaseId: 1 + placementTransform: {fileID: 1460070747} + - playerBaseId: 2 + placementTransform: {fileID: 385834241} + - playerBaseId: 3 + placementTransform: {fileID: 501600306} + - playerBaseId: 4 + placementTransform: {fileID: 1301684855} + playerPawns: + - {fileID: 579170960} + - {fileID: 332604774} + - {fileID: 285587085} + - {fileID: 942393773} --- !u!1001 &574642922 PrefabInstance: m_ObjectHideFlags: 0 @@ -2355,6 +2426,17 @@ Transform: m_CorrespondingSourceObject: {fileID: 7993275380040288459, guid: 195e8a45a36974637bff1dab6791e632, type: 3} m_PrefabInstance: {fileID: 575958118} m_PrefabAsset: {fileID: 0} +--- !u!114 &575958120 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: -2904904340618941697, guid: 195e8a45a36974637bff1dab6791e632, type: 3} + m_PrefabInstance: {fileID: 575958118} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da493b8dbb3aa475abf11f31549b9293, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &579170958 PrefabInstance: m_ObjectHideFlags: 0 @@ -2417,6 +2499,17 @@ Transform: m_CorrespondingSourceObject: {fileID: 7993275380040288459, guid: 9ae10e3fa7db64f47af31a5f0ebbecdc, type: 3} m_PrefabInstance: {fileID: 579170958} m_PrefabAsset: {fileID: 0} +--- !u!114 &579170960 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 8373871663967812526, guid: 9ae10e3fa7db64f47af31a5f0ebbecdc, type: 3} + m_PrefabInstance: {fileID: 579170958} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da493b8dbb3aa475abf11f31549b9293, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &583407430 GameObject: m_ObjectHideFlags: 0 @@ -3057,6 +3150,17 @@ Transform: m_CorrespondingSourceObject: {fileID: 7993275380040288459, guid: 81ea53750af48479785425335304fdc7, type: 3} m_PrefabInstance: {fileID: 713878046} m_PrefabAsset: {fileID: 0} +--- !u!114 &713878048 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 8543619722873780761, guid: 81ea53750af48479785425335304fdc7, type: 3} + m_PrefabInstance: {fileID: 713878046} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da493b8dbb3aa475abf11f31549b9293, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &720024726 GameObject: m_ObjectHideFlags: 0 @@ -3408,6 +3512,17 @@ Transform: m_CorrespondingSourceObject: {fileID: 7993275380040288459, guid: 195e8a45a36974637bff1dab6791e632, type: 3} m_PrefabInstance: {fileID: 861446745} m_PrefabAsset: {fileID: 0} +--- !u!114 &861446747 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: -2904904340618941697, guid: 195e8a45a36974637bff1dab6791e632, type: 3} + m_PrefabInstance: {fileID: 861446745} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da493b8dbb3aa475abf11f31549b9293, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &867499712 PrefabInstance: m_ObjectHideFlags: 0 @@ -3470,6 +3585,17 @@ Transform: m_CorrespondingSourceObject: {fileID: 7993275380040288459, guid: 81ea53750af48479785425335304fdc7, type: 3} m_PrefabInstance: {fileID: 867499712} m_PrefabAsset: {fileID: 0} +--- !u!114 &867499714 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 8543619722873780761, guid: 81ea53750af48479785425335304fdc7, type: 3} + m_PrefabInstance: {fileID: 867499712} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da493b8dbb3aa475abf11f31549b9293, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &868479584 GameObject: m_ObjectHideFlags: 0 @@ -3716,33 +3842,30 @@ MonoBehaviour: selectMat: {fileID: 2100000, guid: ede151fd0a67d4100beffc2314392f38, type: 2} playerGameDatas: - playerType: 0 - playerCornerEntity: {fileID: 574007534} startIndex: 0 endIndex: 46 playersParent: {fileID: 1373272158} playerPawnsDict: [] totalPawnsFinished: 0 - playerType: 1 - playerCornerEntity: {fileID: 241691679} startIndex: 12 endIndex: 10 playersParent: {fileID: 1841959051} playerPawnsDict: [] totalPawnsFinished: 0 - playerType: 2 - playerCornerEntity: {fileID: 987201643} startIndex: 24 endIndex: 22 playersParent: {fileID: 1934858463} playerPawnsDict: [] totalPawnsFinished: 0 - playerType: 3 - playerCornerEntity: {fileID: 1251876826} startIndex: 36 endIndex: 34 playersParent: {fileID: 1094154913} playerPawnsDict: [] totalPawnsFinished: 0 + playerBaseHandler: {fileID: 433034051} --- !u!1001 &923111009 PrefabInstance: m_ObjectHideFlags: 0 @@ -3933,6 +4056,17 @@ Transform: m_CorrespondingSourceObject: {fileID: 7993275380040288459, guid: 9ae10e3fa7db64f47af31a5f0ebbecdc, type: 3} m_PrefabInstance: {fileID: 942393771} m_PrefabAsset: {fileID: 0} +--- !u!114 &942393773 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 8373871663967812526, guid: 9ae10e3fa7db64f47af31a5f0ebbecdc, type: 3} + m_PrefabInstance: {fileID: 942393771} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da493b8dbb3aa475abf11f31549b9293, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &953003986 PrefabInstance: m_ObjectHideFlags: 0 @@ -4302,7 +4436,21 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 789d50d84a2014dedb8aa0bb22261a7e, type: 3} m_Name: m_EditorClassIdentifier: - basePlacementDatas: [] + playerType: 2 + basePlacementDatas: + - playerBaseId: 1 + placementTransform: {fileID: 426836278} + - playerBaseId: 2 + placementTransform: {fileID: 1795608037} + - playerBaseId: 3 + placementTransform: {fileID: 1742932127} + - playerBaseId: 4 + placementTransform: {fileID: 272998681} + playerPawns: + - {fileID: 1073809820} + - {fileID: 861446747} + - {fileID: 515214454} + - {fileID: 575958120} --- !u!1001 &987559890 PrefabInstance: m_ObjectHideFlags: 0 @@ -4776,6 +4924,17 @@ Transform: m_CorrespondingSourceObject: {fileID: 7993275380040288459, guid: 195e8a45a36974637bff1dab6791e632, type: 3} m_PrefabInstance: {fileID: 1073809818} m_PrefabAsset: {fileID: 0} +--- !u!114 &1073809820 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: -2904904340618941697, guid: 195e8a45a36974637bff1dab6791e632, type: 3} + m_PrefabInstance: {fileID: 1073809818} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da493b8dbb3aa475abf11f31549b9293, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &1079000207 PrefabInstance: m_ObjectHideFlags: 0 @@ -5744,7 +5903,21 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 789d50d84a2014dedb8aa0bb22261a7e, type: 3} m_Name: m_EditorClassIdentifier: - basePlacementDatas: [] + playerType: 3 + basePlacementDatas: + - playerBaseId: 1 + placementTransform: {fileID: 1070491404} + - playerBaseId: 2 + placementTransform: {fileID: 1586816317} + - playerBaseId: 3 + placementTransform: {fileID: 257080520} + - playerBaseId: 4 + placementTransform: {fileID: 1207327331} + playerPawns: + - {fileID: 1665297695} + - {fileID: 1266600969} + - {fileID: 1691461918} + - {fileID: 1974955952} --- !u!1001 &1266600967 PrefabInstance: m_ObjectHideFlags: 0 @@ -5766,15 +5939,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7993275380040288459, guid: 28a2e17f2aa28459099c180350293bf6, type: 3} propertyPath: m_LocalPosition.x - value: -3.26 + value: -2.63 objectReference: {fileID: 0} - target: {fileID: 7993275380040288459, guid: 28a2e17f2aa28459099c180350293bf6, type: 3} propertyPath: m_LocalPosition.y - value: 0.94 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7993275380040288459, guid: 28a2e17f2aa28459099c180350293bf6, type: 3} propertyPath: m_LocalPosition.z - value: -3.36 + value: 4.4399986 objectReference: {fileID: 0} - target: {fileID: 7993275380040288459, guid: 28a2e17f2aa28459099c180350293bf6, type: 3} propertyPath: m_LocalRotation.w @@ -5811,6 +5984,17 @@ Transform: m_CorrespondingSourceObject: {fileID: 7993275380040288459, guid: 28a2e17f2aa28459099c180350293bf6, type: 3} m_PrefabInstance: {fileID: 1266600967} m_PrefabAsset: {fileID: 0} +--- !u!114 &1266600969 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 6504614332953282164, guid: 28a2e17f2aa28459099c180350293bf6, type: 3} + m_PrefabInstance: {fileID: 1266600967} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da493b8dbb3aa475abf11f31549b9293, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &1284410034 PrefabInstance: m_ObjectHideFlags: 0 @@ -5877,6 +6061,17 @@ Transform: m_CorrespondingSourceObject: {fileID: 7993275380040288459, guid: 81ea53750af48479785425335304fdc7, type: 3} m_PrefabInstance: {fileID: 1284410034} m_PrefabAsset: {fileID: 0} +--- !u!114 &1284410036 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 8543619722873780761, guid: 81ea53750af48479785425335304fdc7, type: 3} + m_PrefabInstance: {fileID: 1284410034} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da493b8dbb3aa475abf11f31549b9293, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &1285580626 GameObject: m_ObjectHideFlags: 0 @@ -6773,15 +6968,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7993275380040288459, guid: 28a2e17f2aa28459099c180350293bf6, type: 3} propertyPath: m_LocalPosition.x - value: -3.18 + value: -2.6600008 objectReference: {fileID: 0} - target: {fileID: 7993275380040288459, guid: 28a2e17f2aa28459099c180350293bf6, type: 3} propertyPath: m_LocalPosition.y - value: 0.94000006 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7993275380040288459, guid: 28a2e17f2aa28459099c180350293bf6, type: 3} propertyPath: m_LocalPosition.z - value: 3.41 + value: -2.2400017 objectReference: {fileID: 0} - target: {fileID: 7993275380040288459, guid: 28a2e17f2aa28459099c180350293bf6, type: 3} propertyPath: m_LocalRotation.w @@ -6818,6 +7013,17 @@ Transform: m_CorrespondingSourceObject: {fileID: 7993275380040288459, guid: 28a2e17f2aa28459099c180350293bf6, type: 3} m_PrefabInstance: {fileID: 1665297693} m_PrefabAsset: {fileID: 0} +--- !u!114 &1665297695 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 6504614332953282164, guid: 28a2e17f2aa28459099c180350293bf6, type: 3} + m_PrefabInstance: {fileID: 1665297693} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da493b8dbb3aa475abf11f31549b9293, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &1691461916 PrefabInstance: m_ObjectHideFlags: 0 @@ -6839,15 +7045,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7993275380040288459, guid: 28a2e17f2aa28459099c180350293bf6, type: 3} propertyPath: m_LocalPosition.x - value: 2.4799998 + value: 3.4300003 objectReference: {fileID: 0} - target: {fileID: 7993275380040288459, guid: 28a2e17f2aa28459099c180350293bf6, type: 3} propertyPath: m_LocalPosition.y - value: 0.94000006 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7993275380040288459, guid: 28a2e17f2aa28459099c180350293bf6, type: 3} propertyPath: m_LocalPosition.z - value: 3.41 + value: -2.369999 objectReference: {fileID: 0} - target: {fileID: 7993275380040288459, guid: 28a2e17f2aa28459099c180350293bf6, type: 3} propertyPath: m_LocalRotation.w @@ -6884,6 +7090,17 @@ Transform: m_CorrespondingSourceObject: {fileID: 7993275380040288459, guid: 28a2e17f2aa28459099c180350293bf6, type: 3} m_PrefabInstance: {fileID: 1691461916} m_PrefabAsset: {fileID: 0} +--- !u!114 &1691461918 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 6504614332953282164, guid: 28a2e17f2aa28459099c180350293bf6, type: 3} + m_PrefabInstance: {fileID: 1691461916} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da493b8dbb3aa475abf11f31549b9293, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &1691649118 PrefabInstance: m_ObjectHideFlags: 0 @@ -7345,6 +7562,17 @@ Transform: m_CorrespondingSourceObject: {fileID: 7993275380040288459, guid: 81ea53750af48479785425335304fdc7, type: 3} m_PrefabInstance: {fileID: 1900156992} m_PrefabAsset: {fileID: 0} +--- !u!114 &1900156994 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 8543619722873780761, guid: 81ea53750af48479785425335304fdc7, type: 3} + m_PrefabInstance: {fileID: 1900156992} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da493b8dbb3aa475abf11f31549b9293, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &1934858462 GameObject: m_ObjectHideFlags: 0 @@ -7576,15 +7804,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7993275380040288459, guid: 28a2e17f2aa28459099c180350293bf6, type: 3} propertyPath: m_LocalPosition.x - value: 2.4 + value: 3.4699993 objectReference: {fileID: 0} - target: {fileID: 7993275380040288459, guid: 28a2e17f2aa28459099c180350293bf6, type: 3} propertyPath: m_LocalPosition.y - value: 0.94000006 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7993275380040288459, guid: 28a2e17f2aa28459099c180350293bf6, type: 3} propertyPath: m_LocalPosition.z - value: -3.36 + value: 4.4900017 objectReference: {fileID: 0} - target: {fileID: 7993275380040288459, guid: 28a2e17f2aa28459099c180350293bf6, type: 3} propertyPath: m_LocalRotation.w @@ -7621,6 +7849,17 @@ Transform: m_CorrespondingSourceObject: {fileID: 7993275380040288459, guid: 28a2e17f2aa28459099c180350293bf6, type: 3} m_PrefabInstance: {fileID: 1974955950} m_PrefabAsset: {fileID: 0} +--- !u!114 &1974955952 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 6504614332953282164, guid: 28a2e17f2aa28459099c180350293bf6, type: 3} + m_PrefabInstance: {fileID: 1974955950} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da493b8dbb3aa475abf11f31549b9293, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &1999665427 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Gameplay/GameplayManager.cs b/Assets/Scripts/Gameplay/GameplayManager.cs index 42b75d7..ad36d08 100644 --- a/Assets/Scripts/Gameplay/GameplayManager.cs +++ b/Assets/Scripts/Gameplay/GameplayManager.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Xml.Schema; using UnityEngine; public enum PlayerTypes @@ -181,6 +182,7 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader EnablePlayerSelectionStates(false); PlayerGameData playerGameData = playerGameDatasDict[currentPlayerTypeTurn]; + Debug.Log($"playerPawn.GetPlayerState(): {playerPawn.GetPlayerState()}"); if (playerPawn.GetPlayerState() == PlayerState.InHome) { @@ -231,6 +233,10 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader pawn.MoveToCustomTilePosition(safeTile.CenterPlacementPosition); } } + else + { + currentSittingTile.ResetPlayerPawn(); + } MoveThroughTiles(playerPawn, nextTileIdx, targetIndex: targetIdx); } @@ -271,8 +277,9 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader } } - // var tempPos = playerGameDatasDict[currentPlayerTypeTurn].playerCornerEntity.transform.position; - // pointerDebug.position = new Vector3(tempPos.x, 3f, tempPos.z); + Debug.Log($"CurrentPlayerTurn: {currentPlayerTypeTurn}"); + var tempPos = playerBaseHandler.GetPlayerBase(currentPlayerTypeTurn).transform.position; + pointerDebug.position = new Vector3(tempPos.x, 3f, tempPos.z); pointerMeshRend.material = turnMat; // pointerMeshRend.materials[0] = turnMat; @@ -327,12 +334,20 @@ public class GameplayManager : MonoBehaviour, IBase, IBootLoader, IDataLoader else { // TODO :: Improve this logic, use a collection + Debug.Log($"nextTile.IsSafeZone: {nextTile.IsSafeZone}"); if (!nextTile.IsSafeZone) { + Debug.Log($"nextTile.PlayerPawn: {nextTile.PlayerPawn}, {nextTile.transform.name}"); if (nextTile.PlayerPawn != null) { + // play animation for moving back to base. // TODO :: Send existing pawn back to base. // means there's already a pawn there, move him back to the base. + var playerBasePos = playerBaseHandler.GetPlayerBase(nextTile.PlayerPawn.PlayerType) + .GetBasePlacementDataPosition(nextTile.PlayerPawn.PlayerId - 1).position; + Debug.Log($"playerBasePos: {playerBasePos}"); + nextTile.PlayerPawn.transform.position = playerBasePos; + nextTile.PlayerPawn.SetPlayerState(PlayerState.InHome); } nextTile.InitPlayerPawn(playerPawn, currentPlayerTypeTurn); diff --git a/Assets/Scripts/Gameplay/Player/PlayerBase.cs b/Assets/Scripts/Gameplay/Player/PlayerBase.cs index 4bf0da6..16324f9 100644 --- a/Assets/Scripts/Gameplay/Player/PlayerBase.cs +++ b/Assets/Scripts/Gameplay/Player/PlayerBase.cs @@ -15,16 +15,16 @@ public class PlayerBase : MonoBehaviour public PlayerTypes GetPlayerType() => playerType; - public void InitPlayerIds() + public void InitPlayerData() { for (int idx = 0; idx < basePlacementDatas.Length; idx++) { - playerPawns[idx].InitId(basePlacementDatas[idx].playerBaseId); + playerPawns[idx].Init(basePlacementDatas[idx].playerBaseId, playerType); } } - public BasePlacementData GetBasePlacementData(int idx) + public Transform GetBasePlacementDataPosition(int idx) { - return basePlacementDatas[idx]; + return basePlacementDatas[idx].placementTransform; } } diff --git a/Assets/PlayerBaseHandler.cs b/Assets/Scripts/Gameplay/Player/PlayerBaseHandler.cs similarity index 57% rename from Assets/PlayerBaseHandler.cs rename to Assets/Scripts/Gameplay/Player/PlayerBaseHandler.cs index 52f95a5..17737ff 100644 --- a/Assets/PlayerBaseHandler.cs +++ b/Assets/Scripts/Gameplay/Player/PlayerBaseHandler.cs @@ -13,14 +13,21 @@ public class PlayerBaseHandler : MonoBehaviour { [SerializeField] private PlayerBase[] playerBases; + private Dictionary playerBasesDict = new Dictionary(); + public void InitPlayerTypes(List playerTypes) { foreach (PlayerBase playerBase in playerBases) { if (playerTypes.Contains(playerBase.GetPlayerType())) { - playerBase.InitPlayerIds(); + playerBase.InitPlayerData(); playerBase.gameObject.SetActive(true); + + if (!playerBasesDict.ContainsKey(playerBase.GetPlayerType())) + playerBasesDict.Add(playerBase.GetPlayerType(), playerBase); + else + playerBasesDict[playerBase.GetPlayerType()] = playerBase; } else { @@ -29,8 +36,8 @@ public class PlayerBaseHandler : MonoBehaviour } } - public void GetPlayerBase() + public PlayerBase GetPlayerBase(PlayerTypes playerType) { - + return playerBasesDict[playerType]; } } diff --git a/Assets/PlayerBaseHandler.cs.meta b/Assets/Scripts/Gameplay/Player/PlayerBaseHandler.cs.meta similarity index 100% rename from Assets/PlayerBaseHandler.cs.meta rename to Assets/Scripts/Gameplay/Player/PlayerBaseHandler.cs.meta diff --git a/Assets/Scripts/Gameplay/Player/PlayerPawn.cs b/Assets/Scripts/Gameplay/Player/PlayerPawn.cs index 0587042..0339de9 100644 --- a/Assets/Scripts/Gameplay/Player/PlayerPawn.cs +++ b/Assets/Scripts/Gameplay/Player/PlayerPawn.cs @@ -31,6 +31,11 @@ public class PlayerPawn : MonoBehaviour get; private set; } + public PlayerTypes PlayerType + { + get; private set; + } + private GameplayManager gameplayManager; public void SetPlayerSelectionState(bool state) @@ -84,8 +89,9 @@ public class PlayerPawn : MonoBehaviour gameplayManager = gameplayManager ?? InterfaceManager.Instance.GetInterfaceInstance(); } - public void InitId(int id) + public void Init(int id, PlayerTypes playerType) { PlayerId = id; + PlayerType = playerType; } } diff --git a/Assets/Scripts/Tile/Tile.cs b/Assets/Scripts/Tile/Tile.cs index fd84884..d22703b 100644 --- a/Assets/Scripts/Tile/Tile.cs +++ b/Assets/Scripts/Tile/Tile.cs @@ -35,4 +35,9 @@ public class Tile : MonoBehaviour { PlayerPawn = playerPawn; } + + public void ResetPlayerPawn() + { + PlayerPawn = null; + } } diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index 32abf8f..77c3f50 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -806,7 +806,23 @@ PlayerSettings: webGLThreadsSupport: 0 webGLDecompressionFallback: 0 webGLPowerPreference: 2 - scriptingDefineSymbols: {} + scriptingDefineSymbols: + Android: DOTWEEN + EmbeddedLinux: DOTWEEN + GameCoreScarlett: DOTWEEN + GameCoreXboxOne: DOTWEEN + LinuxHeadlessSimulation: DOTWEEN + Lumin: DOTWEEN + Nintendo Switch: DOTWEEN + PS4: DOTWEEN + PS5: DOTWEEN + Stadia: DOTWEEN + Standalone: DOTWEEN + WebGL: DOTWEEN + Windows Store Apps: DOTWEEN + XboxOne: DOTWEEN + iPhone: DOTWEEN + tvOS: DOTWEEN additionalCompilerArguments: {} platformArchitecture: {} scriptingBackend: {}