/// <summary> /// This is our main gameloop and get's called every INTERVAL /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <see cref="INTERVAL"/> private void OnTimerTick(object sender, ElapsedEventArgs e) { if (!CurrentBlock.SafeFall(gameBoard)) { AddBlockToBoard(); CurrentBlock = NextBlock; if (!CurrentBlock.CanFall(gameBoard)) { GameOver(); } NextBlock = SpawnBlock(); } ProcessFullRows(); Draw(); }