Win Screen (WinScreenController)

The win screen is shown when the player completes a level. Place it in the level scene as a child of the level's Canvas.

  1. Add WinScreenController to the panel's root GameObject.
  2. Assign Open Sound and Close Sound (inherited from Window).
  3. In LevelManager's On Successful Exit event slot in the Inspector, add a listener → WinScreenController.Open.
  4. Wire any Retry button's OnClickWinScreenController.ResetLevel().

See Level Screens.

Options Menu (GameOptionsMenu)

The options/pause panel gives the player sound controls and a way to quit to the world map.

  1. Add GameOptionsMenu to the panel root.
  2. Assign audio clips as needed (inherited from Window).
  3. Wire an in-game Options button's OnClickGameOptionsMenu.Open().
  4. Wire a close/back button → GameOptionsMenu.Close().
  5. Wire a "Quit to Map" button → GameOptionsMenu.GoToWorldMap().

See Level Screens.

Items List Window (ItemsListWindow)

Used by interactables that let the player choose an item from their inventory (e.g. a merchant or altar). The window does not need to be wired to any automatic events — it is opened programmatically.

  1. Add ItemsListWindow to the window panel root.
  2. Assign audio clips and any item slot references as needed.
  3. From your interactable code, call ItemsListWindow.Open(onSelectCallback), passing a delegate that receives the chosen Item.
// inside an Interactable method
itemsListWindow.Open((item) =>
{
    // handle the selected item
    itemsListWindow.Close();
});

See Level Screens.

ℹ️
All three screens extend Window. Start the panel GameObjects disabled in the scene — Open() activates them and Close() deactivates them.