示例#1
0
    public IEnumerator TakeEnemyTurn()
    {
        GameObject acting = currentOrder[0];

        Debug.Log("acting enemy is: " + acting.name);

        yield return(aiBehavior.TakeAction(acting.GetComponent <UnitInfo>()));

        currentOrder.RemoveAt(0);
        currentOrder.Add(acting);
        acting.transform.Find("Pointer").gameObject.SetActive(false);
        ShowOrder();
    }
示例#2
0
    void Update()
    {
        if (!ship.CanTakeAction())
        {
            return;
        }

        bool actionTaken = false;

        for (int i = 0; i < behaviors.Length && !actionTaken; i++)
        {
            AIBehavior behavior = behaviors[i];

            if (!behavior.AbilityIsReady())
            {
                continue;
            }

            actionTaken = behavior.TakeAction();
        }
    }