示例#1
0
    void SetState(State nextState)
    {
        if (currentState == nextState)
        {
            return;
        }

        switch (nextState)
        {
        case State.Idle:
            Behaviour = new ScrollableBehaviour(0.0f);
            break;

        case State.Chase:
            Behaviour = new ScrollableBehaviour(enemyData.moveSpeed);
            GetComponent <SpriteRenderer>().flipX = false;
            break;

        case State.Run:
            Behaviour = new ScrollableBehaviour(0.0f);
            GetComponent <SpriteRenderer>().flipX = true;
            break;

        case State.Die:
            Behaviour     = new ScrollableBehaviour(2 * enemyData.moveSpeed);
            currentHealth = 0;
            break;
        }

        currentState = nextState;
    }
示例#2
0
    void SetState(State nextState)
    {
        if (currentState == nextState)
        {
            return;
        }

        switch (nextState)
        {
        case State.Idle:
            Behaviour = new FlowPointBehaviour(new Vector2(GameManager.Instance.screenBounds.x / 2.0f, 0.0f), moveSpeed);
            break;

        case State.Chase:
            Behaviour = new ScrollableBehaviour(moveSpeed);
            break;

        case State.Roam:
            Behaviour = new RoamingBehaviour(moveSpeed);
            break;

        case State.Die:
            Behaviour     = new ScrollableBehaviour(0.0f);
            currentHealth = 0;
            break;
        }

        currentState = nextState;
    }