Ejemplo n.º 1
0
    private void RemoveFirstBehavior()
    {
        BaseBehavior firstBehavior = behaviors.First.Value;

        firstBehavior.EndBehavior(mob);
        behaviors.RemoveFirst();
    }
Ejemplo n.º 2
0
    private void RemoveLastBehavior()
    {
        BaseBehavior lastBehavior = behaviors.Last.Value;

        switch (lastBehavior.State)
        {
        case BehaviorState.InProcess:
            lastBehavior.EndBehavior(mob);
            break;
        }

        behaviors.RemoveLast();
    }
Ejemplo n.º 3
0
    public override bool UpdateBehavior(Mob mob)
    {
        if (behaviors.Count > 0)
        {
            BaseBehavior curBehavior = behaviors.First.Value;

            if (curBehavior.State == BehaviorState.NotStarted)
            {
                curBehavior.StartBehavior(mob);
            }

            if (!curBehavior.UpdateBehavior(mob))
            {
                curBehavior.EndBehavior(mob);
                behaviors.RemoveFirst();
            }

            return(true);
        }

        return(false);
    }