public override void Update(GameTimer gameTimer) { Systems.Physics(PhysicsGroup, ColliderGroup, gameTimer, GRAVITY, MOVE_STEP, DeathHeight); Systems.ColliderEvents(ColliderEventGroup); Systems.Death(DeathGroup); Systems.StartMovement(StartMovementGroup); Systems.StopMovement(StopMovementGroup); Systems.SpriteAnimation(SpriteAnimationGroup, gameTimer); Systems.PlayerAnimation(PlayerAnimationGroup); Systems.MovingPlatforms(MovingPlatformGroup, gameTimer); Systems.Recordings(RecordingsGroup, Player, this); // process removal queues for entities and components Registry.SystemsFinished(); var playerRect = EntityUtility.GetEntityDrawRect(Player); Camera.Center(playerRect.Center); if (ShowDebug) { DebugManager.Update(gameTimer); } }