![]() |
Olympe Engine 2.0
2D Game Engine with ECS Architecture
|
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 ¶ms) override |
| Executes the atomic task for one frame with full runtime context. | |
| TaskStatus | Execute (const ParameterMap ¶ms) 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(). | |
Async pathfinding task that polls PathfindingManager for completion.
Definition at line 45 of file Task_RequestPathfinding.h.
| Olympe::Task_RequestPathfinding::Task_RequestPathfinding | ( | ) |
Definition at line 31 of file Task_RequestPathfinding.cpp.
|
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:
|
overridevirtual |
Executes the atomic task for one frame.
| params | Named parameters provided by the task graph node. |
Implements Olympe::IAtomicTask.
Definition at line 53 of file Task_RequestPathfinding.cpp.
References Olympe::Failure.
|
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.
| ctx | Runtime context for this tick (Entity, World*, LocalBB, dt, StateTimer). |
| params | Named parameters provided by the task graph node. |
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:
|
private |
True after first-tick submission.
Definition at line 58 of file Task_RequestPathfinding.h.
Referenced by Abort(), and ExecuteWithContext().
|
private |
Active request ID (0 = none)
Definition at line 57 of file Task_RequestPathfinding.h.
Referenced by Abort(), and ExecuteWithContext().