Merge branch 'latefixedupdate' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-latefixedupdate

This commit is contained in:
Wojtek Figat
2023-05-12 14:41:49 +02:00
10 changed files with 87 additions and 3 deletions

View File

@@ -121,6 +121,19 @@ void SceneTicking::LateUpdateTickData::TickScripts(const Array<Script*>& scripts
}
}
SceneTicking::LateFixedUpdateTickData::LateFixedUpdateTickData()
: TickData(64)
{
}
void SceneTicking::LateFixedUpdateTickData::TickScripts(const Array<Script*>& scripts)
{
for (auto* script : scripts)
{
script->OnLateFixedUpdate();
}
}
void SceneTicking::AddScript(Script* obj)
{
ASSERT_LOW_LAYER(obj && obj->GetParent() && obj->GetParent()->GetScene());
@@ -130,6 +143,9 @@ void SceneTicking::AddScript(Script* obj)
Update.AddScript(obj);
if (obj->_tickLateUpdate)
LateUpdate.AddScript(obj);
if (obj->_tickLateFixedUpdate)
LateFixedUpdate.AddScript(obj);
}
void SceneTicking::RemoveScript(Script* obj)
@@ -141,6 +157,8 @@ void SceneTicking::RemoveScript(Script* obj)
Update.RemoveScript(obj);
if (obj->_tickLateUpdate)
LateUpdate.RemoveScript(obj);
if (obj->_tickLateFixedUpdate)
LateFixedUpdate.RemoveScript(obj);
}
void SceneTicking::Clear()
@@ -148,4 +166,5 @@ void SceneTicking::Clear()
FixedUpdate.Clear();
Update.Clear();
LateUpdate.Clear();
LateFixedUpdate.Clear();
}

View File

@@ -109,6 +109,13 @@ public:
void TickScripts(const Array<Script*>& scripts) override;
};
class FLAXENGINE_API LateFixedUpdateTickData : public TickData
{
public:
LateFixedUpdateTickData();
void TickScripts(const Array<Script*>& scripts) override;
};
public:
/// <summary>
/// Adds the script to scene ticking system.
@@ -142,4 +149,9 @@ public:
/// The late update tick function.
/// </summary>
LateUpdateTickData LateUpdate;
/// <summary>
/// The late fixed update tick function.
/// </summary>
LateFixedUpdateTickData LateFixedUpdate;
};