Пример #1
0
    public (System.Type, Vector2Int) SelectAction()
    {
        List <PlayableAgent> Players = FindObjectsOfType <PlayableAgent>().Where(Player => Player.IsAlive).ToList();

        Vector2Int?TargetPos = SelectTargetForAttackFromPosition(Players, GridPos);

        if (TargetPos.HasValue)
        {
            return(MainAbility.GetType(), TargetPos.Value);
        }
        else
        {
            Vector2Int?MoveTarget = null;
            if (IsBlob)
            {
                MoveTarget = BlobMoveTarget(Players);
            }
            else
            {
                MoveTarget = CultistMoveTarget(Players);
            }


            if (MoveTarget.HasValue)
            {
                return(TypeTag.MoveAbility, MoveTarget.Value);
            }
            else
            {
                return(TypeTag.NoAction, Vector2Int.zero);
            }
        }
    }
Пример #2
0
 public void AppendInput(TypeTag GameplayTag, Vector2Int Position)
 {
     AppendInput(GameplayTag.GetType(), Position);
 }