Olympe Engine 2.0
2D Game Engine with ECS Architecture
Loading...
Searching...
No Matches
Public Member Functions | List of all members
Olympe::Task_ChangeState Class Reference

Writes a new AI state name to "local:current_state" in the LocalBlackboard. More...

#include <Task_ChangeState.h>

+ Inheritance diagram for Olympe::Task_ChangeState:
+ Collaboration diagram for Olympe::Task_ChangeState:

Public Member Functions

 Task_ChangeState ()
 
TaskStatus ExecuteWithContext (const AtomicTaskContext &ctx, const ParameterMap &params) override
 Executes the atomic task for one frame with full runtime context.
 
TaskStatus Execute (const ParameterMap &params) override
 Executes the atomic task for one frame.
 
void Abort () override
 Aborts the task, releasing any in-progress state.
 
 Task_ChangeState ()
 
TaskStatus ExecuteWithContext (const AtomicTaskContext &ctx, const ParameterMap &params) override
 Executes the atomic task for one frame with full runtime context.
 
TaskStatus Execute (const ParameterMap &params) override
 Executes the atomic task for one frame.
 
void Abort () override
 Aborts the task, releasing any in-progress state.
 
- Public Member Functions inherited from Olympe::IAtomicTask
virtual ~IAtomicTask ()=default
 

Additional Inherited Members

- Public Types inherited from Olympe::IAtomicTask
using ParameterMap = std::unordered_map< std::string, TaskValue >
 Convenience alias for the parameter map passed to Execute().
 

Detailed Description

Writes a new AI state name to "local:current_state" in the LocalBlackboard.

Sets "local:CurrentState" in the entity's LocalBlackboard.

Definition at line 32 of file Task_ChangeState.h.

Constructor & Destructor Documentation

◆ Task_ChangeState() [1/2]

Olympe::Task_ChangeState::Task_ChangeState ( )

Definition at line 19 of file Task_ChangeState.cpp.

◆ Task_ChangeState() [2/2]

Olympe::Task_ChangeState::Task_ChangeState ( )

Member Function Documentation

◆ Abort() [1/2]

void Olympe::Task_ChangeState::Abort ( )
overridevirtual

Aborts the task, releasing any in-progress state.

Called by the TaskSystem when execution is interrupted (e.g. a parent node is aborted or a new graph is bound while a task is Running). Concrete tasks must implement this to clean up timers, reservations, animations, or any other side-effects started in Execute().

Implements Olympe::IAtomicTask.

Definition at line 21 of file Task_ChangeState.cpp.

References SYSTEM_LOG.

◆ Abort() [2/2]

void Olympe::Task_ChangeState::Abort ( )
overridevirtual

Aborts the task, releasing any in-progress state.

Called by the TaskSystem when execution is interrupted (e.g. a parent node is aborted or a new graph is bound while a task is Running). Concrete tasks must implement this to clean up timers, reservations, animations, or any other side-effects started in Execute().

Implements Olympe::IAtomicTask.

◆ Execute() [1/2]

TaskStatus Olympe::Task_ChangeState::Execute ( const ParameterMap params)
overridevirtual

Executes the atomic task for one frame.

Parameters
paramsNamed parameters provided by the task graph node.
Returns
TaskStatus::Success, Failure, or Running. Returning Running causes the task to be ticked again next frame.

Implements Olympe::IAtomicTask.

Definition at line 26 of file Task_ChangeState.cpp.

References Olympe::Failure.

◆ Execute() [2/2]

TaskStatus Olympe::Task_ChangeState::Execute ( const ParameterMap params)
overridevirtual

Executes the atomic task for one frame.

Parameters
paramsNamed parameters provided by the task graph node.
Returns
TaskStatus::Success, Failure, or Running. Returning Running causes the task to be ticked again next frame.

Implements Olympe::IAtomicTask.

◆ ExecuteWithContext() [1/2]

TaskStatus Olympe::Task_ChangeState::ExecuteWithContext ( const AtomicTaskContext ctx,
const ParameterMap params 
)
overridevirtual

Executes the atomic task for one frame with full runtime context.

New tasks should override this method to access the richer context (World pointer, LocalBlackboard, EntityID, dt, StateTimer). The default implementation simply forwards to Execute(params) so all existing tasks remain compatible without any changes.

Parameters
ctxRuntime context for this tick (Entity, World*, LocalBB, dt, StateTimer).
paramsNamed parameters provided by the task graph node.
Returns
TaskStatus::Success, Failure, or Running.

Reimplemented from Olympe::IAtomicTask.

Definition at line 31 of file Task_ChangeState.cpp.

References Olympe::TaskValue::AsString(), Olympe::BB_KEY_CURRENT_STATE, Olympe::Failure, GetComponentTypeID_Static(), Olympe::String, Olympe::Success, and SYSTEM_LOG.

+ Here is the call graph for this function:

◆ ExecuteWithContext() [2/2]

TaskStatus Olympe::Task_ChangeState::ExecuteWithContext ( const AtomicTaskContext ctx,
const ParameterMap params 
)
overridevirtual

Executes the atomic task for one frame with full runtime context.

New tasks should override this method to access the richer context (World pointer, LocalBlackboard, EntityID, dt, StateTimer). The default implementation simply forwards to Execute(params) so all existing tasks remain compatible without any changes.

Parameters
ctxRuntime context for this tick (Entity, World*, LocalBB, dt, StateTimer).
paramsNamed parameters provided by the task graph node.
Returns
TaskStatus::Success, Failure, or Running.

Reimplemented from Olympe::IAtomicTask.


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