WUT_Computer_Science/theProject/Assets/Scripts/Formation.cs

37 lines
1.1 KiB
C#
Raw Normal View History

2022-05-23 17:36:25 +02:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
2022-05-23 17:55:37 +02:00
2022-05-23 17:36:25 +02:00
public class Formation : MonoBehaviour
{
[SerializeField] Squad squad;
void Awake()
{
2022-05-23 17:55:37 +02:00
this.squad = squad.GetComponent<Squad>();
2022-05-23 17:36:25 +02:00
}
2022-05-23 17:55:37 +02:00
public Dictionary<Entity, Vector2Int> calculatePositions(Vector2Int coordinates)
2022-05-23 17:36:25 +02:00
{
2022-05-23 17:55:37 +02:00
List<Entity> soldiers = this.squad.GetSoldiers();
Dictionary<Entity, Vector2Int> soldierNewCoordinate = new Dictionary<Entity, Vector2Int>();
2022-05-23 17:36:25 +02:00
int soldierNumber = 0;
2022-05-23 17:55:37 +02:00
foreach (Entity Entity in soldiers)
2022-05-23 17:36:25 +02:00
{
2022-05-23 17:55:37 +02:00
soldierNewCoordinate.Add(Entity, calculateSoldierCoordinates(soldierNumber, coordinates));
2022-05-23 17:36:25 +02:00
}
return soldierNewCoordinate;
}
// 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
2022-05-23 17:55:37 +02:00
Vector2Int soldierCoordinates = new Vector2Int(coordinates.x + soldierNumber, coordinates.y);
return soldierCoordinates;
2022-05-23 17:36:25 +02:00
}
}