Basic mutability framework
This commit is contained in:
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user