Skip to content

Update Loop

Scott Zimmerman edited this page Dec 12, 2025 · 4 revisions

This is just a simple breakdown of the game's main update loop. Sometimes it helps to know what the order of operations is. This is by no means a complete list of all the update functions, but it does show some of the most important ones critical to the main gameplay loop.

> Game1.Update()
  > ControlHandler.Update()
  > UiManager.Update()
    > UpdateElements()
      > UiElement.Update()
        > UiButton.Update()
        > UiCheckBox.Update()
        > UiEditList.Update()
        > UiLabel.Update()
        > UiNumberInput.Update()
        > UiScrollableList.Update()
        > UiTextInput.Update()
  > EditorManager.EditorUpdate()
  > UiPageManager.Update()
    > InsideElement[PageStack[x]].Update()
      > MainMenuPage.Update()
      > CopyPage.Update()
      > CopyConfirmationPage.Update()
      > DeleteSaveSlotPage.Update()
      > NewGamePage.Update()
      > SettingsPage.Update()
      > GameSettingsPage.Update()
      > GraphicSettingsPage.Update()
      > AudioSettingsPage.Update()
      > ControlSettingsPage.Update()
      > CameraSettingsPage.Update()
      > ReduxOptionsPage.Update()
      > ModifiersPage.Update()
      > GameMenuPage.Update()
      > QuitGamePage.Update()
      > GameOverPage.Update()
      > ExitGamePage.Update()
  > ScreenManager.Update()
    > _currentScreen.Update()
      > GameScreen.Update()
        > Game1.GameManager.UpdateGame()
          > InGameOverlay.Update()
          > UpdateSoundEffects()
          > UpdateMusic()
          > ItemDrawHelper.Update()
          > UpdateDialog()
          > gameSystem.Value.Update()
            > MapTransitionSystem.Update()
            > GameOverSystem.Update()
            > EndingSystem.Update()
            > MapShowSystem.Update()
          > MapManager.Update()
            > CurrentMap.Objects.Update()
              > _systemAnimator.Update()
              > UpdateGameObjects()
                > updateComponent.UpdateFunction?.Invoke()  : This is where object "Update" functions are invoked, like "ObjLink.Update()".
              > _systemAi.Update()
              > UpdateKeyListeners()
              > _systemBody.Update()
              > UpdatePlayerCollision()
              > UpdateDamageFields()
              > UpdateDeleteObjects()
              > AddSpawnedObjects()
            > CurrentMap.UpdateMapUpdateState();
            > UpdateCamera()
            > UpdateShake()
  > base.Update(gameTime)

πŸ“š Documentation Index

🏠 Home

βš™οΈ Engine Reference

πŸ›οΈ File & Data Reference

🎧 Audio Reference

πŸ’Ύ Modification

Clone this wiki locally