feat: Add a bunch of behaviors (All rotations, DoDamage, OnTimer, OnStartup, MoveBackToStart) and make models move based on normals, not world axes (#2038)

* add rotation behavior logic (not working correctly for multiple axes)

* Fix FetchContent_Declare speed

* remove manual quaternion math

* feat: working rotations

* remove flag

* feat: make directional movements based on model rotation and not world axes

* poggers rotation on the strip

* Add OnStartup and OnTimer

* go home works

* Add DoDamage behavior and dont try and start the same node multiple times

* fix: pause bbb models

* interrupt rotations and save interrupt count across resets
This commit is contained in:
David Markowitz
2026-10-05 10:33:45 -07:00
committed by GitHub
parent 66e2790193
commit fc6a7fbd52
20 changed files with 465 additions and 127 deletions

View File

@@ -167,10 +167,10 @@ void State::Update(float deltaTime, ModelComponent& modelComponent, UpdateResult
for (auto& strip : m_Strips) strip.Update(deltaTime, modelComponent, updateResult);
}
void State::OnChatMessageReceived(const std::string& sMessage) {
for (auto& strip : m_Strips) strip.OnChatMessageReceived(sMessage);
void State::OnChatMessageReceived(const std::string& sMessage, const LWOOBJID sender) {
for (auto& strip : m_Strips) strip.OnChatMessageReceived(sMessage, sender);
}
void State::OnHit() {
for (auto& strip : m_Strips) strip.OnHit();
void State::OnHit(const LWOOBJID attacker) {
for (auto& strip : m_Strips) strip.OnHit(attacker);
}