public void GameLoop() { Taxi.Landed = false; obstacles.Iterate(CollisionChecker); platforms.Iterate(CollisionChecker); if (portal.CollidWith()) { _eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.GameStateEvent, this, "NEXT_LEVEL", "", "")); } if (!Taxi.Landed) { Taxi.Location = ""; Taxi.Movement = new TrivialMovement(); } Taxi.Move(); }