Files
2026-06-02 18:57:47 -04:00

28 lines
950 B
C#

using System;
using UnityEngine;
namespace BracerLib.StateManagement
{
/// <summary>
/// Base StateMap component that can be extended and used for start up or other state loads.
/// </summary>
[DefaultExecutionOrder(-1000)]
public class StateMap : MonoBehaviour
{
/// <summary>
/// Method to send back the number of states to be utilized.
/// </summary>
public virtual GameState[] GetGameStateMap() => Array.Empty<GameState>();
/// <summary>
/// The running requirement set for all <see cref="GameState"/> state entries.
/// </summary>
public virtual Tuple<GameState, GameState>[] GetGameStateRequirements() => Array.Empty<Tuple<GameState, GameState>>();
/// <summary>
/// What is considered the last game ready state to run before starting the game.
/// </summary>
public virtual GameState GetReadyState() => null;
}
}