namespace Ashwild.Network
{
///
/// Carries the player's menu choice (save slot, host vs. join, join code) across the
/// MenuScene → GameScene transition. Plain static state so it survives the scene load
/// without needing a DontDestroyOnLoad object of its own.
///
public static class GameSession
{
#region Types
///
/// How the upcoming game scene should be launched on the network.
///
public enum LaunchMode
{
Host,
Join
}
#endregion
#region State
///
/// Whether the next launch hosts a new session or joins an existing one.
///
public static LaunchMode Mode { get; set; } = LaunchMode.Host;
///
/// The save slot picked in the menu (-1 when none). Reserved for the future SaveManager.
///
public static int SelectedSlot { get; set; } = -1;
///
/// The session code to connect to when is Join (host SteamID64).
///
public static string JoinCode { get; set; } = string.Empty;
#endregion
}
}