Nelaric Unreal Gameplay
Gameplay framework API
Loading...
Searching...
No Matches
IInitStateParticipantInterface Class Referenceabstract

Contract implemented by an actor component in world initialization. More...

#include <InitStateParticipantInterface.h>

Inheritance diagram for IInitStateParticipantInterface:
UPawnInitStateComponent

Public Member Functions

virtual bool IsInitApplicable () const =0
 Whether this component participates in its current context.
virtual bool TryChangeInitState ()=0
 Attempts one adjacent transition through DataInitialized.
virtual bool CanEnterReady ()=0
 Checks this component's internal preparation for Ready.
virtual bool CommitReadyWithoutNotification ()=0
 Writes Ready without callbacks after group checks pass.
virtual void NotifyReadyCommitted (const Nelaric::FInitStateSnapshot &Previous)=0
 Announces an already committed Ready transition.
virtual Nelaric::EInitState GetInitState () const =0
 Current component-owned state of this attempt.
virtual Nelaric::FInitGeneration GetInitGeneration () const =0
 Current component-owned attempt identity.
virtual bool HasTerminalInitFailure () const =0
 Whether this attempt has a terminal failure.
virtual void InvalidateInitGeneration ()=0
 Invalidates old work and returns to Registered.
virtual void MarkTerminalInitFailure ()=0
 Records a terminal failure without adding a state.

Detailed Description

Contract implemented by an actor component in world initialization.

The component owns its state, generation, and failure flag. The world subsystem discovers this interface through UE reflection. All calls and notifications occur on the game thread.

Member Function Documentation

◆ CanEnterReady()

virtual bool IInitStateParticipantInterface::CanEnterReady ( )
pure virtual

Checks this component's internal preparation for Ready.

Called at DataInitialized after the coordinator checks external dependencies. Preparation may perform retry-safe local work but must not change init state or start gameplay. Component gameplay requires Ready; work requiring the complete pawn must additionally wait for pawn Ready.

Returns
Whether this component may enter Ready now.

Implemented in UPawnInitStateComponent.

◆ CommitReadyWithoutNotification()

virtual bool IInitStateParticipantInterface::CommitReadyWithoutNotification ( )
pure virtual

Writes Ready without callbacks after group checks pass.

The coordinator calls this once per member, then notifies every member after all commits. Implementations must not recheck dependencies or broadcast, invoke delegates, or request coordinator progress here.

Returns
True only if DataInitialized changed to Ready in this call.

Implemented in UPawnInitStateComponent.

◆ InvalidateInitGeneration()

virtual void IInitStateParticipantInterface::InvalidateInitGeneration ( )
pure virtual

Invalidates old work and returns to Registered.

Increment the generation before removing listeners or cancelling work. Notify the world after resetting state.

Implemented in UPawnInitStateComponent.

◆ MarkTerminalInitFailure()

virtual void IInitStateParticipantInterface::MarkTerminalInitFailure ( )
pure virtual

Records a terminal failure without adding a state.

Notify the world so dependents can stop awaiting this attempt.

Implemented in UPawnInitStateComponent.

◆ NotifyReadyCommitted()

virtual void IInitStateParticipantInterface::NotifyReadyCommitted ( const Nelaric::FInitStateSnapshot & Previous)
pure virtual

Announces an already committed Ready transition.

Called after the entire readiness group is Ready. Notify the world coordinator and any component observers only in this phase.

Parameters
PreviousSnapshot captured before the Ready commit.

Implemented in UPawnInitStateComponent.

◆ TryChangeInitState()

virtual bool IInitStateParticipantInterface::TryChangeInitState ( )
pure virtual

Attempts one adjacent transition through DataInitialized.

Check only this component's data and context. This method must never enter Ready or rely on dependency gameplay behavior.

Returns
True only if this call committed exactly one adjacent transition.

Implemented in UPawnInitStateComponent.


The documentation for this class was generated from the following file: