public override void Update()
 {
     if (turnLeftTile.shouldDestroy)
     {
         nextState = new TurnLeftTileDestroyState(turnLeftTile);
     }
 }
    private void onBeatStarted(Signal signal)
    {
        BeatStartedSignal beatStartedSignal = (BeatStartedSignal)signal;

        if (beatStartedSignal.BeatType == BeatType.BOARD_MOVE)
        {
            nextState = new TurnLeftTileSpinState(turnLeftTile);
        }
    }
 void Update()
 {
     if (currentState != currentState.GetNextState())
     {
         currentState.End();
         currentState = currentState.GetNextState();
         currentState.Start();
     }
     currentState.Update();
 }
    public override void Update()
    {
        float rotation      = TempoManager.Inst.BeatPercentage * 90f;
        float totalRotation = startRotation - rotation;

        turnTable.rotation = Quaternion.Euler(0f, totalRotation, 0f);
        if (turnLeftTile.shouldDestroy)
        {
            nextState = new TurnLeftTileDestroyState(turnLeftTile);
        }
    }
 void Awake()
 {
     currentState = new TurnLeftTileIdleState(this);
 }
 public TurnLeftTileIdleState(TurnLeftTile turnLeftTile) : base(turnLeftTile)
 {
     nextState = this;
 }
 private void onBeatStarted(Signal signal)
 {
     nextState = new TurnLeftTileIdleState(turnLeftTile);
 }