Olympe Engine
2.0
2D Game Engine with ECS Architecture
Loading...
Searching...
No Matches
Source
TaskSystem
AtomicTasks
System
Task_SetPosition.h
Go to the documentation of this file.
1
/**
2
* @file Task_SetPosition.h
3
* @brief Atomic task that sets the entity's position.
4
* @author Olympe Engine
5
* @date 2026-03-08
6
*
7
* @details
8
* Task_SetPosition teleports an entity to a specified position.
9
*
10
* Parameters (ParameterMap):
11
* "Target" (Vector) — destination position (required).
12
*
13
* World mode (ctx.ComponentFacade with Position set):
14
* Writes directly to the entity's PositionComponent.
15
*
16
* Headless mode (ComponentFacade is nullptr or Position is null):
17
* Writes to "local:Position" in ctx.LocalBB.
18
*
19
* Returns:
20
* Success after writing the position.
21
* Failure if "Target" is missing.
22
*
23
* C++14 compliant - no C++17/20 features.
24
*/
25
26
#pragma once
27
28
#include "../../IAtomicTask.h"
29
30
namespace
Olympe
{
31
32
/**
33
* @class Task_SetPosition
34
* @brief Sets entity position via ECS or LocalBlackboard.
35
*/
36
class
Task_SetPosition
:
public
IAtomicTask
{
37
public
:
38
Task_SetPosition
();
39
40
TaskStatus
ExecuteWithContext
(
const
AtomicTaskContext
&
ctx
,
41
const
ParameterMap
&
params
)
override
;
42
43
TaskStatus
Execute
(
const
ParameterMap
&
params
)
override
;
44
45
void
Abort
()
override
;
46
};
47
48
}
// namespace Olympe
GetComponentTypeID_Static
ComponentTypeID GetComponentTypeID_Static()
Definition
ECS_Entity.h:56
Olympe::IAtomicTask
Abstract interface for a single atomic unit of work.
Definition
IAtomicTask.h:63
Olympe::IAtomicTask::ParameterMap
std::unordered_map< std::string, TaskValue > ParameterMap
Convenience alias for the parameter map passed to Execute().
Definition
IAtomicTask.h:67
Olympe::Task_SetPosition
Sets entity position via ECS or LocalBlackboard.
Definition
Task_SetPosition.h:36
Olympe::Task_SetPosition::Execute
TaskStatus Execute(const ParameterMap ¶ms) override
Executes the atomic task for one frame.
Definition
Task_SetPosition.cpp:25
Olympe::Task_SetPosition::Task_SetPosition
Task_SetPosition()
Definition
Task_SetPosition.cpp:18
Olympe::Task_SetPosition::ExecuteWithContext
TaskStatus ExecuteWithContext(const AtomicTaskContext &ctx, const ParameterMap ¶ms) override
Executes the atomic task for one frame with full runtime context.
Definition
Task_SetPosition.cpp:30
Olympe::Task_SetPosition::Abort
void Abort() override
Aborts the task, releasing any in-progress state.
Definition
Task_SetPosition.cpp:20
Olympe
< Provides AssetID and INVALID_ASSET_ID
Definition
BTEditorCommand.cpp:16
Olympe::TaskStatus
TaskStatus
Result code returned by IAtomicTask::Execute().
Definition
IAtomicTask.h:38
Olympe::AtomicTaskContext
Lightweight context bundle passed to IAtomicTask::ExecuteWithContext().
Definition
AtomicTaskContext.h:36
Generated on Mon Apr 13 2026 08:15:20 for Olympe Engine by
1.9.8