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

Async pathfinding task that polls PathfindingManager for completion. More...

#include <Task_RequestPathfinding.h>

+ Inheritance diagram for Olympe::Task_RequestPathfinding:
+ Collaboration diagram for Olympe::Task_RequestPathfinding:

Public Member Functions

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

Private Attributes

PathfindingManager::RequestID m_requestID
 Active request ID (0 = none)
 
bool m_hasRequest
 True after first-tick submission.
 

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

Async pathfinding task that polls PathfindingManager for completion.

Definition at line 45 of file Task_RequestPathfinding.h.

Constructor & Destructor Documentation

◆ Task_RequestPathfinding()

Olympe::Task_RequestPathfinding::Task_RequestPathfinding ( )

Definition at line 31 of file Task_RequestPathfinding.cpp.

Member Function Documentation

◆ Abort()

void Olympe::Task_RequestPathfinding::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 37 of file Task_RequestPathfinding.cpp.

References Olympe::PathfindingManager::Cancel(), Olympe::PathfindingManager::Get(), Olympe::PathfindingManager::INVALID_REQUEST_ID, m_hasRequest, m_requestID, and SYSTEM_LOG.

+ Here is the call graph for this function:

◆ Execute()

TaskStatus Olympe::Task_RequestPathfinding::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 53 of file Task_RequestPathfinding.cpp.

References Olympe::Failure.

◆ ExecuteWithContext()

TaskStatus Olympe::Task_RequestPathfinding::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 62 of file Task_RequestPathfinding.cpp.

References Olympe::BB_KEY_PATH, Olympe::BB_KEY_POSITION, Olympe::PathfindingManager::Cancel(), Olympe::Failure, Olympe::Float, Olympe::PathfindingManager::Get(), GetComponentTypeID_Static(), Olympe::PathfindingManager::GetPathString(), Olympe::PathfindingManager::INVALID_REQUEST_ID, m_hasRequest, m_requestID, Olympe::PathfindingManager::Request(), Olympe::Running, Olympe::Success, SYSTEM_LOG, Olympe::Vector, Vector::x, and Vector::y.

+ Here is the call graph for this function:

Member Data Documentation

◆ m_hasRequest

bool Olympe::Task_RequestPathfinding::m_hasRequest
private

True after first-tick submission.

Definition at line 58 of file Task_RequestPathfinding.h.

Referenced by Abort(), and ExecuteWithContext().

◆ m_requestID

PathfindingManager::RequestID Olympe::Task_RequestPathfinding::m_requestID
private

Active request ID (0 = none)

Definition at line 57 of file Task_RequestPathfinding.h.

Referenced by Abort(), and ExecuteWithContext().


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