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

summaryrefslogtreecommitdiff
path: root/source/game/scripting/StarFireableItemLuaBindings.hpp
blob: 8001aef56eae5ee6d3457b3f4b8eea875009cc22 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#pragma once

#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);
  }
}
}