using System.Collections; using System.Collections.Generic; using UnityEngine; public class Formation : MonoBehaviour { [SerializeField] Squad squad; void Awake() { squad = GetComponent(); } public Dictionary CalculatePositions(Vector2Int coordinates) { List soldiers = squad.GetSoldiers(); Dictionary soldiersNewCoordinates = new Dictionary(); int soldierNumber = 0; foreach (Entity Entity in soldiers) { soldiersNewCoordinates.Add(Entity, CalculateSoldierCoordinates(soldierNumber, coordinates)); soldierNumber++; } 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) { // Horizontal line we change x Vector2Int soldierCoordinates = new Vector2Int(coordinates.x + soldierNumber, coordinates.y); return soldierCoordinates; } }