Olympe Engine
2.0
2D Game Engine with ECS Architecture
Loading...
Searching...
No Matches
Source
TaskSystem
AtomicTasks
System
Task_GetDeltaTime.cpp
Go to the documentation of this file.
1
/**
2
* @file Task_GetDeltaTime.cpp
3
* @brief Atomic task: write the current frame delta-time to the LocalBlackboard.
4
* @author Olympe Engine
5
* @date 2026-03-08
6
*
7
* C++14 compliant - no C++17/20 features.
8
*/
9
10
#include "
Task_GetDeltaTime.h
"
11
#include "../../AtomicTaskRegistry.h"
12
#include "../../LocalBlackboard.h"
13
#include "../../../system/system_utils.h"
14
15
namespace
Olympe
{
16
17
Task_GetDeltaTime::Task_GetDeltaTime
() {}
18
19
void
Task_GetDeltaTime::Abort
()
20
{
21
SYSTEM_LOG
<<
"[Task_GetDeltaTime] Abort()\n"
;
22
}
23
24
TaskStatus
Task_GetDeltaTime::Execute
(
const
ParameterMap
&
/*params*/
)
25
{
26
return
TaskStatus::Failure
;
// requires context; use ExecuteWithContext
27
}
28
29
TaskStatus
Task_GetDeltaTime::ExecuteWithContext
(
const
AtomicTaskContext
&
ctx
,
30
const
ParameterMap
&
/*params*/
)
31
{
32
if
(!
ctx
.LocalBB)
33
{
34
SYSTEM_LOG
<<
"[Task_GetDeltaTime] No LocalBlackboard in context\n"
;
35
return
TaskStatus::Failure
;
36
}
37
38
ctx
.LocalBB->SetValueScoped(
"local:DeltaTime"
,
TaskValue
(
ctx
.DeltaTime));
39
40
SYSTEM_LOG
<<
"[Task_GetDeltaTime] Entity "
<<
ctx
.Entity
41
<<
" dt="
<<
ctx
.DeltaTime <<
" written to 'local:DeltaTime'\n"
;
42
return
TaskStatus::Success
;
43
}
44
45
REGISTER_ATOMIC_TASK
(
Task_GetDeltaTime
,
"Task_GetDeltaTime"
)
46
47
}
// namespace Olympe
REGISTER_ATOMIC_TASK
#define REGISTER_ATOMIC_TASK(ClassName, Id)
Registers a factory for ClassName under Id at static init time.
Definition
AtomicTaskRegistry.h:119
GetComponentTypeID_Static
ComponentTypeID GetComponentTypeID_Static()
Definition
ECS_Entity.h:56
Task_GetDeltaTime.h
Atomic task that writes the current delta-time into the LocalBlackboard.
Olympe::IAtomicTask::ParameterMap
std::unordered_map< std::string, TaskValue > ParameterMap
Convenience alias for the parameter map passed to Execute().
Definition
IAtomicTask.h:67
Olympe::TaskValue
C++14-compliant type-safe value container for task parameters.
Definition
TaskGraphTypes.h:181
Olympe::Task_GetDeltaTime
Writes ctx.DeltaTime to "local:DeltaTime" in the LocalBlackboard.
Definition
Task_GetDeltaTime.h:31
Olympe::Task_GetDeltaTime::Abort
void Abort() override
Aborts the task, releasing any in-progress state.
Definition
Task_GetDeltaTime.cpp:19
Olympe::Task_GetDeltaTime::Execute
TaskStatus Execute(const ParameterMap ¶ms) override
Executes the atomic task for one frame.
Definition
Task_GetDeltaTime.cpp:24
Olympe::Task_GetDeltaTime::Task_GetDeltaTime
Task_GetDeltaTime()
Definition
Task_GetDeltaTime.cpp:17
Olympe::Task_GetDeltaTime::ExecuteWithContext
TaskStatus ExecuteWithContext(const AtomicTaskContext &ctx, const ParameterMap ¶ms) override
Executes the atomic task for one frame with full runtime context.
Definition
Task_GetDeltaTime.cpp:29
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::TaskStatus::Success
@ Success
Task completed successfully.
Olympe::TaskStatus::Failure
@ Failure
Task failed.
Olympe::AtomicTaskContext
Lightweight context bundle passed to IAtomicTask::ExecuteWithContext().
Definition
AtomicTaskContext.h:36
SYSTEM_LOG
#define SYSTEM_LOG
Definition
system_utils.h:23
Generated on Mon Apr 13 2026 08:15:20 for Olympe Engine by
1.9.8