示例#1
0
    private void ChangeState(S_ActorState l_nextState)
    {
        switch (m_currentState)
        {
        case S_ActorState.Idle:
            switch (l_nextState)
            {
            case S_ActorState.Walk:
                GetRandomDestination();
                m_currentState = l_nextState;
                break;

            case S_ActorState.Bullying:
                m_currentState = l_nextState;
                break;
            }
            break;

        case S_ActorState.Walk:
            switch (l_nextState)
            {
            case S_ActorState.Idle:
                m_currentState = l_nextState;
                break;

            case S_ActorState.Bullying:
                m_currentState = l_nextState;
                break;
            }
            break;

        case S_ActorState.Bullying:
            switch (l_nextState)
            {
            case S_ActorState.Idle:
                m_currentState = l_nextState;
                break;

            case S_ActorState.Walk:

                //decide which animation you have to take depending on the day

                m_currentState = l_nextState;
                break;
            }
            break;
        }
    }
示例#2
0
    public void ChangeState(S_ActorState currentState, S_ActorState nextState)
    {
        switch (currentState)
        {
        case S_ActorState.Idle:
            switch (nextState)
            {
            case S_ActorState.MoveTowards:
                GetRandomDestination();
                break;
            }
            break;

        case S_ActorState.MoveTowards:

            vAux_currentTime = 0f;
            switch (nextState)
            {
            case S_ActorState.Idle:
                break;

            case S_ActorState.RunAway:
                break;

            case S_ActorState.BullyActionIndividual:
                m_newDestination = new Vector3(I_john.transform.position.x, I_john.transform.position.y - 1, I_john.transform.position.z);

                break;
            }
            break;


        case S_ActorState.BullyActionIndividual:
            switch (nextState)
            {
            case S_ActorState.RunAway:
                break;

            case S_ActorState.MoveTowards:
                break;
            }
            break;

        case S_ActorState.BullyActionGroupal:
            switch (nextState)
            {
            case S_ActorState.RunAway:
                break;

            case S_ActorState.MoveTowards:
                break;
            }
            break;

        case S_ActorState.LookAtSmartphone:
            switch (nextState)
            {
            case S_ActorState.MoveTowards:
                m_newDestination = m_waitingPoint.position;
                print(m_waitingPoint);
                break;
            }
            break;
        }
        m_currentState = nextState;
    }