Basic mutability framework

This commit is contained in:
Dynamitos
2022-01-12 14:40:26 +01:00
parent b2718dde70
commit 6d48267ec2
72 changed files with 1781 additions and 1341 deletions
+29 -1
View File
@@ -12,8 +12,36 @@ Actor::~Actor()
{
}
void Actor::tick(float)
void Actor::launchStart()
{
rootComponent->launchStart();
for(auto child : children)
{
child->launchStart();
}
start();
}
Array<Job> Actor::launchTick(float deltaTime) const
{
Array<Job> result = rootComponent->launchTick(deltaTime);
for(auto child : children)
{
result.addAll(child->launchTick(deltaTime));
}
result.add(tick(deltaTime));
return result;
}
Array<Job> Actor::launchUpdate()
{
Array<Job> result = rootComponent->launchUpdate();
for(auto child : children)
{
result.addAll(child->launchUpdate());
}
result.add(update());
return result;
}
void Actor::notifySceneAttach(PScene scene)
{
+7 -2
View File
@@ -1,6 +1,7 @@
#pragma once
#include "MinimalEngine.h"
#include "Math/Transform.h"
#include "ThreadPool.h"
namespace Seele
{
@@ -12,8 +13,12 @@ class Actor
public:
Actor();
virtual ~Actor();
void tick(float deltaTime);
virtual void launchStart();
virtual void start() {}
Array<Job> launchTick(float deltaTime) const;
virtual Job tick(float deltaTime) const { co_return; }
Array<Job> launchUpdate();
virtual Job update() { co_return; }
void notifySceneAttach(PScene scene);
PScene getScene();