From fc86d098c3b146a89fe5e8f7a2ded36cc1825728 Mon Sep 17 00:00:00 2001 From: Faymoon Date: Fri, 11 Jan 2019 09:29:37 +0100 Subject: [PATCH] Update Velocity[System/Component] to add CoordSys_Local support (#193) --- SDK/include/NDK/Components/VelocityComponent.hpp | 3 ++- SDK/include/NDK/Components/VelocityComponent.inl | 5 +++-- SDK/src/NDK/Systems/VelocitySystem.cpp | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/SDK/include/NDK/Components/VelocityComponent.hpp b/SDK/include/NDK/Components/VelocityComponent.hpp index 8785f6861..2c619da76 100644 --- a/SDK/include/NDK/Components/VelocityComponent.hpp +++ b/SDK/include/NDK/Components/VelocityComponent.hpp @@ -19,10 +19,11 @@ namespace Ndk class NDK_API VelocityComponent : public Component { public: - VelocityComponent(const Nz::Vector3f& velocity = Nz::Vector3f::Zero()); + VelocityComponent(const Nz::Vector3f& velocity = Nz::Vector3f::Zero(), Nz::CoordSys coordSystem = Nz::CoordSys_Global); ~VelocityComponent() = default; Nz::Vector3f linearVelocity; + Nz::CoordSys coordSys; VelocityComponent& operator=(const Nz::Vector3f& vel); diff --git a/SDK/include/NDK/Components/VelocityComponent.inl b/SDK/include/NDK/Components/VelocityComponent.inl index 3ca449132..2adedf413 100644 --- a/SDK/include/NDK/Components/VelocityComponent.inl +++ b/SDK/include/NDK/Components/VelocityComponent.inl @@ -16,8 +16,9 @@ namespace Ndk * \param velocity Linear velocity */ - inline VelocityComponent::VelocityComponent(const Nz::Vector3f& velocity) : - linearVelocity(velocity) + inline VelocityComponent::VelocityComponent(const Nz::Vector3f& velocity, Nz::CoordSys coordSystem) : + linearVelocity(velocity), + coordSys(coordSystem) { } diff --git a/SDK/src/NDK/Systems/VelocitySystem.cpp b/SDK/src/NDK/Systems/VelocitySystem.cpp index 0b1845bfb..b633d7b68 100644 --- a/SDK/src/NDK/Systems/VelocitySystem.cpp +++ b/SDK/src/NDK/Systems/VelocitySystem.cpp @@ -43,7 +43,7 @@ namespace Ndk NodeComponent& node = entity->GetComponent(); const VelocityComponent& velocity = entity->GetComponent(); - node.Move(velocity.linearVelocity * elapsedTime, Nz::CoordSys_Global); + node.Move(velocity.linearVelocity * elapsedTime, velocity.coordSys); } }