using Nox.Game; using UnityEngine; namespace Nox.Core { /// /// This class is meant to hold application essential gameplay state /// public class GameDataState { public PlatformSelector platformSelector; public string activeSessionId; public Vector3? savedPartyPosition; public GameState ActiveGameState { get; set; } public PlayMode ActivePlayMode { get; set; } public PartyDefinition ActiveParty { get; set; } public PlayMode PreviousPlayMode { get; private set; } public void ChangeGameState(GameState gameState) { ActiveGameState = gameState; } public void ChangePlayMode(PlayMode playMode) { if (ActiveGameState != GameState.GameMode && playMode != PlayMode.None){ Debug.LogError("Cannot change Game Mode state in any other Application State than ApplicationState.GameMode"); return; } PreviousPlayMode = ActivePlayMode; ActivePlayMode = playMode; } } }