diff options
Diffstat (limited to 'source/game/scripting')
-rw-r--r-- | source/game/scripting/StarInputLuaBindings.cpp | 2 | ||||
-rw-r--r-- | source/game/scripting/StarLuaComponents.hpp | 11 |
2 files changed, 11 insertions, 2 deletions
diff --git a/source/game/scripting/StarInputLuaBindings.cpp b/source/game/scripting/StarInputLuaBindings.cpp index 9f58a40..df2e3e5 100644 --- a/source/game/scripting/StarInputLuaBindings.cpp +++ b/source/game/scripting/StarInputLuaBindings.cpp @@ -13,7 +13,7 @@ LuaCallbacks LuaBindings::makeInputCallbacks() { callbacks.registerCallbackWithSignature<bool, String, String>("bindHeld", bind(mem_fn(&Input::bindHeld), input, _1, _2)); callbacks.registerCallbackWithSignature<Maybe<unsigned>, String, String>("bindUp", bind(mem_fn(&Input::bindUp), input, _1, _2)); - callbacks.registerCallback("keyDown", [input](String const& keyName, Maybe<StringList>& const modNames) -> Maybe<unsigned> { + callbacks.registerCallback("keyDown", [input](String const& keyName, Maybe<StringList> const& modNames) -> Maybe<unsigned> { Key key = KeyNames.getLeft(keyName); Maybe<KeyMod> mod; if (modNames) { diff --git a/source/game/scripting/StarLuaComponents.hpp b/source/game/scripting/StarLuaComponents.hpp index bc00309..7e30c39 100644 --- a/source/game/scripting/StarLuaComponents.hpp +++ b/source/game/scripting/StarLuaComponents.hpp @@ -130,6 +130,7 @@ public: LuaUpdatableComponent(); unsigned updateDelta() const; + float updateDt(float dt) const; float updateDt() const; void setUpdateDelta(unsigned updateDelta); @@ -142,6 +143,7 @@ public: private: Periodic m_updatePeriodic; + mutable float m_lastDt; }; // Wraps a basic lua component so that world callbacks are added on init, and @@ -253,10 +255,17 @@ unsigned LuaUpdatableComponent<Base>::updateDelta() const { } template <typename Base> +float LuaUpdatableComponent<Base>::updateDt(float dt) const { + m_lastDt = dt; + return m_updatePeriodic.stepCount() * dt; +} + +template <typename Base> float LuaUpdatableComponent<Base>::updateDt() const { - return m_updatePeriodic.stepCount() * WorldTimestep; + return m_updatePeriodic.stepCount() * m_lastDt; } + template <typename Base> void LuaUpdatableComponent<Base>::setUpdateDelta(unsigned updateDelta) { m_updatePeriodic.setStepCount(updateDelta); |