State<S extends Enum> class
A state machine for tracking game/application state.
State manages transitions between enum values and provides information about recent transitions for systems that respond to state changes.
enum GameState { menu, playing, paused }
final state = State<GameState>(GameState.menu);
// Check current state
if (state.current == GameState.playing) { ... }
// Request a transition
state.set(GameState.paused);
// Apply the transition (usually done by the framework)
state.applyTransition();
Constructors
- State(S _current)
- Creates a state machine with the given initial state.
Properties
- current → S
-
The current state value.
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
- isPending → bool
-
Returns true if a transition is pending.
no setter
- justEntered → bool
-
Returns true if the current state was just entered this frame.
no setter
- justExited → bool
-
Returns true if the current state is about to exit.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
applyTransition(
) → void - Applies any pending state transition.
-
cancelTransition(
) → void - Clears any pending transition.
-
clearFlags(
) → void - Resets the just entered/exited flags without applying a transition.
-
isIn(
S state) → bool - Returns true if currently in the given state.
-
justEnteredState(
S state) → bool - Returns true if the state was just entered AND it matches the given state.
-
justExitedState(
S state) → bool - Returns true if the state is about to exit AND it matches the given state.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
set(
S newState) → void - Requests a transition to a new state.
-
toString(
) → String -
A string representation of this object.
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited