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

Moves an entity toward a 2D (TargetX, TargetY) destination. More...

#include <Task_GotoPosition.h>

+ Inheritance diagram for Olympe::Task_GotoPosition:
+ Collaboration diagram for Olympe::Task_GotoPosition:

Public Member Functions

 Task_GotoPosition ()
 
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

Moves an entity toward a 2D (TargetX, TargetY) destination.

Definition at line 37 of file Task_GotoPosition.h.

Constructor & Destructor Documentation

◆ Task_GotoPosition()

Olympe::Task_GotoPosition::Task_GotoPosition ( )

Definition at line 24 of file Task_GotoPosition.cpp.

Member Function Documentation

◆ Abort()

void Olympe::Task_GotoPosition::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 26 of file Task_GotoPosition.cpp.

References SYSTEM_LOG.

◆ Execute()

TaskStatus Olympe::Task_GotoPosition::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 31 of file Task_GotoPosition.cpp.

References Olympe::Failure.

◆ ExecuteWithContext()

TaskStatus Olympe::Task_GotoPosition::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 36 of file Task_GotoPosition.cpp.

References Olympe::ARRIVAL_TOLERANCE, Olympe::TaskValue::AsVector(), Olympe::BB_KEY_POSITION, Olympe::DEFAULT_GOTO_SPEED, Olympe::Failure, Olympe::Float, GetComponentTypeID_Static(), Olympe::Int, Olympe::Running, Olympe::Success, SYSTEM_LOG, Olympe::Vector, and Vector::z.

+ Here is the call graph for this function:

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