public Mode Update() { if (Input.GetAxis("Pause") > 0) { pauser.Pause(this); return(pauser); } leftShifter.SetInput(Input.GetAxis("Horizontal") < 0); rightShifter.SetInput(Input.GetAxis("Horizontal") > 0); spinShifter.SetInput(Input.GetAxis("Vertical") > 0); leftShifter.NextFrame(Time.deltaTime); rightShifter.NextFrame(Time.deltaTime); spinShifter.NextFrame(Time.deltaTime); bool softDropping = Input.GetAxis("Vertical") < 0; bool droppedOneLevel = UpdateDropClock(Time.deltaTime, softDropping); if (droppedOneLevel) { bool blockWasLowered = mover.MoveDown(); if (!blockWasLowered) { scoreboard.Record(mover.CountAndRemoveFullRows()); bool couldSpawn = mover.SpawnTetromino(); if (!couldSpawn) { audio.StopMusic(); gameOver.End(scoreboard.GetScore()); return(gameOver); } } } return(this); }
public void Pause() { gamePauser.Pause(); }