Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/game/scripting
diff options
context:
space:
mode:
Diffstat (limited to 'source/game/scripting')
-rw-r--r--source/game/scripting/StarInputLuaBindings.cpp2
-rw-r--r--source/game/scripting/StarLuaComponents.hpp11
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);