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; } }
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; }