From 4cdc53a3774cdef1d9ffadbec30208b9e181396b Mon Sep 17 00:00:00 2001 From: Krzysztof Rudnicki Date: Mon, 30 May 2022 13:48:37 +0200 Subject: [PATCH] feat: formation in middle soldiers allign on the left and right of where we clicked --- theProject/Assets/Scripts/Formation.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/theProject/Assets/Scripts/Formation.cs b/theProject/Assets/Scripts/Formation.cs index 56bc505c..8513659b 100644 --- a/theProject/Assets/Scripts/Formation.cs +++ b/theProject/Assets/Scripts/Formation.cs @@ -18,18 +18,21 @@ public class Formation : MonoBehaviour List soldiers = squad.GetSoldiers(); Dictionary soldiersNewCoordinates = new Dictionary(); int soldierNumber = 0; + int add = 1; foreach (Entity Entity in soldiers) { - soldiersNewCoordinates.Add(Entity, CalculateSoldierCoordinates(soldierNumber, coordinates)); + soldiersNewCoordinates.Add(Entity, CalculateSoldierCoordinates(soldierNumber, coordinates, add)); soldierNumber++; + add *= -1; } return soldiersNewCoordinates; } // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/in-parameter-modifier - private Vector2Int CalculateSoldierCoordinates(in int soldierNumber, in Vector2Int coordinates) + private Vector2Int CalculateSoldierCoordinates(int soldierNumber, in Vector2Int coordinates,in int add) { // Horizontal line we change x + soldierNumber = add * soldierNumber; TilemapManager.TileState tileState = TilemapManager.GetTileState(coordinates.x + soldierNumber, coordinates.y); if ( tileState == TilemapManager.TileState.free) { @@ -47,4 +50,5 @@ public class Formation : MonoBehaviour } + }