void Update()
 {
     if (currentState != currentState.GetNextState())
     {
         currentState.End();
         currentState = currentState.GetNextState();
         currentState.Start();
     }
     currentState.Update();
 }
示例#2
0
 public void ChangeState(CameraState.State state)
 {
     if (_cameraState != null)
     {
         _cameraState.Dispose();
         _cameraState = null;
     }
     _cameraState = _cameraStateFactory.CreateFactory(state);
     _cameraState.Start();
 }
    void Update()
    {
        CameraState nextState = currentState.Update();

        if (nextState != currentState)
        {
            currentState.Finish();
            currentState = nextState;
            nextState.Start();
        }
    }
 void Start()
 {
     currentState = new CameraIntroState();
     currentState.Start();
 }
 void Start()
 {
     currentState.Start();
 }