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

summaryrefslogtreecommitdiff
path: root/source/game/scripting/StarFireableItemLuaBindings.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/game/scripting/StarFireableItemLuaBindings.hpp')
-rw-r--r--source/game/scripting/StarFireableItemLuaBindings.hpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/source/game/scripting/StarFireableItemLuaBindings.hpp b/source/game/scripting/StarFireableItemLuaBindings.hpp
new file mode 100644
index 0000000..67a4071
--- /dev/null
+++ b/source/game/scripting/StarFireableItemLuaBindings.hpp
@@ -0,0 +1,33 @@
+#ifndef STAR_FIREABLE_ITEM_LUA_BINDINGS_HPP
+#define STAR_FIREABLE_ITEM_LUA_BINDINGS_HPP
+
+#include "StarLua.hpp"
+
+namespace Star {
+
+STAR_CLASS(FireableItem);
+
+namespace LuaBindings {
+ LuaCallbacks makeFireableItemCallbacks(FireableItem* fireableItem);
+
+ namespace FireableItemCallbacks {
+ void fire(FireableItem* fireableItem, Maybe<String> const& mode);
+ void triggerCooldown(FireableItem* fireableItem);
+ void setCooldown(FireableItem* fireableItem, float cooldownTime);
+ void endCooldown(FireableItem* fireableItem);
+ float cooldownTime(FireableItem* fireableItem);
+ Json fireableParam(FireableItem* fireableItem, String const& name, Json const& def);
+ String fireMode(FireableItem* fireableItem);
+ bool ready(FireableItem* fireableItem);
+ bool firing(FireableItem* fireableItem);
+ bool windingUp(FireableItem* fireableItem);
+ bool coolingDown(FireableItem* fireableItem);
+ bool ownerFullEnergy(FireableItem* fireableItem);
+ bool ownerEnergy(FireableItem* fireableItem);
+ bool ownerEnergyLocked(FireableItem* fireableItem);
+ bool ownerConsumeEnergy(FireableItem* fireableItem, float energy);
+ }
+}
+}
+
+#endif