diff --git a/Assets/Plugins/TalesOfTribute.dll b/Assets/Plugins/TalesOfTribute.dll index 0288d10..a01f90c 100644 Binary files a/Assets/Plugins/TalesOfTribute.dll and b/Assets/Plugins/TalesOfTribute.dll differ diff --git a/Assets/Scripts/GameManager.cs b/Assets/Scripts/GameManager.cs index d70799d..3a6b6d8 100644 --- a/Assets/Scripts/GameManager.cs +++ b/Assets/Scripts/GameManager.cs @@ -235,27 +235,29 @@ void CleanupTavern() void RefreshHand(SerializedBoard board) { - Transform currentPlayerHandSlots = board.CurrentPlayer.PlayerID == PlayerScript.Instance.playerID - ? Player1.transform.GetChild(0) //0th idx is Hand, 1st is Agents - : Player2.transform.GetChild(0); + var (currentPlayer, enemyPlayer) = board.CurrentPlayer.PlayerID == PlayerScript.Instance.playerID + ? (Player1, Player2) + : (Player2, Player1); + RefreshHandForPlayer(currentPlayer, board.CurrentPlayer, currentPlayer.transform.GetChild(0)); + RefreshHandForPlayer(enemyPlayer, board.EnemyPlayer, enemyPlayer.transform.GetChild(0)); + } - for (int i = 0; i < Player1.transform.GetChild(0).childCount; i++) + void RefreshHandForPlayer(GameObject playerObject, SerializedPlayer player, Transform currentPlayerHandSlots) + { + for (int i = 0; i < playerObject.transform.GetChild(0).childCount; i++) { - if (Player1.transform.GetChild(0).GetChild(i).childCount > 0) - Destroy(Player1.transform.GetChild(0).GetChild(i).GetChild(0).gameObject); + if (playerObject.transform.GetChild(0).GetChild(i).childCount > 0) + Destroy(playerObject.transform.GetChild(0).GetChild(i).GetChild(0).gameObject); } - for (int i = 0; i < Player2.transform.GetChild(0).childCount; i++) - { - if (Player2.transform.GetChild(0).GetChild(i).childCount > 0) - Destroy(Player2.transform.GetChild(0).GetChild(i).GetChild(0).gameObject); - } - List currentPlayerHand = board.CurrentPlayer.Hand; - currentPlayerHandSlots.position = new Vector3( + List currentPlayerHand = player.Hand; + var position = currentPlayerHandSlots.position; + position = new Vector3( 0.375f*(5 - currentPlayerHand.Count), - currentPlayerHandSlots.position.y, - currentPlayerHandSlots.position.z + position.y, + position.z ); + currentPlayerHandSlots.position = position; for (int i = 0; i < currentPlayerHand.Count; i++) { GameObject card = Instantiate(CardPrefab, currentPlayerHandSlots.GetChild(i));