示例#1
0
    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);
        }
    }
示例#2
0
 public AIOffence(Player player, AIDivision division)
 {
     this.division = division;
     this.player   = player;
     targetEnemy   = PlayerManager.GetEnemyPlayers(player)[0];
 }