Example #1
0
        public void Initialize(IslandBase faction, Transform vehicles, Transform turrets, PatrolContainer patrols, Action <int> onHealthUpdate)
        {
            islandBase = faction;
            Health.Initialize(Destroy, onHealthUpdate);
            function = GetComponent <AICoordinator>();

            function?.Initialize(faction.TargetProvider, vehicles, turrets, patrols);
        }
Example #2
0
    private void Start()
    {
        // Spawn options
        m_Coordinator = GetComponent <AICoordinator>();

        EncounterSettings settings = SelectSettings();

        if (settings != null)
        {
            m_Coordinator.SpawnPawns(settings.PawnSettings);
        }
    }
Example #3
0
    public override bool ChooseAttackAction(AICoordinator coordinator, Pawn caster, out AttackAction attack, out ArenaTile target)
    {
        AttackAction[] actions = caster.AttackActions.ToArray();
        int            rand    = Random.Range(0, actions.Length - 1);

        attack = actions[rand];

        var tiles = attack.GatherConsideredTiles(caster).Where((t) => t.HasContent).ToArray();

        if (tiles.Any())
        {
            rand   = Random.Range(0, tiles.Length - 1);
            target = tiles[rand];
        }
        else
        {
            target = null;
            return(false);
        }

        return(true);
    }
Example #4
0
 public abstract float CalculateMovementScore(AICoordinator coordinator, Dictionary <Pawn, ArenaTile> config);
Example #5
0
 public abstract bool ChooseAttackAction(AICoordinator coordinator, Pawn caster, out AttackAction attack, out ArenaTile target);
Example #6
0
 public override float CalculateMovementScore(AICoordinator coordinator, Dictionary <Pawn, ArenaTile> config)
 {
     return(Random.value);
 }
 public void RegisterController(AICoordinator coordinator)
 {
     coordinators.Add(coordinator);
     coordinator.UpdateTargets(this);
 }