private void AIStrategyLoop() { strategicDivisionHandlers.ForEach(handler => handler.MakeAction()); AIUnitHandler unitHandler = GetComponentInChildren <AIUnitHandler>(); List <BaseObject> undeployedUnits = unitHandler.getUndeployedUnits(); if (undeployedUnits.Count >= AIDivision.UnitsInDivision) { List <BaseObject> units = undeployedUnits.GetRange(0, AIDivision.UnitsInDivision); undeployedUnits.RemoveRange(0, AIDivision.UnitsInDivision); AIDivision division = new AIDivision(units); //Add mix between offence and defence AIStrategy strategy = new AIOffence(player, division); Debug.Log("Adding strategy"); strategicDivisionHandlers.Add(strategy); } }
public AIOffence(Player player, AIDivision division) { this.division = division; this.player = player; targetEnemy = PlayerManager.GetEnemyPlayers(player)[0]; }