LPCGame
A Simple 2d Game Engine
 All Classes Namespaces Functions Variables Enumerations Enumerator Pages
luacphysics.h
1 #ifndef LUACPHYSICS_H
2 #define LUACPHYSICS_H
3 
4 #include <string>
5 #include <memory>
6 #include <lua.hpp>
7 #include "luacudata.h"
8 #include "core/physics.h"
9 
11 
15 namespace LuaC {
17  const std::string physicsMeta = "LPC.Physics";
19  const std::string physicsClass = "Physics";
21  template<>
22  const std::string UdataLib<std::weak_ptr<Physics>>::mMetaTable = physicsMeta;
26  class PhysicsLib : public UdataLib<std::weak_ptr<Physics>> {
27  public:
29  static int luaopen_physics(lua_State *l);
30 
31  private:
33  static const struct luaL_reg luaPhysicsLib[];
35  static int position(lua_State *l);
36  static int velocity(lua_State *l);
37  static int acceleration(lua_State *l);
38  static int box(lua_State *l);
39  static int state(lua_State *l);
41  static int accessor(lua_State *l);
43  static int setPosition(lua_State *l);
44  static int setVelocity(lua_State *l);
45  static int setAcceleration(lua_State *l);
46  static int setHorizDir(lua_State *l);
47  static int setVertDir(lua_State *l);
48  static int setBox(lua_State *l);
50  static int toString(lua_State *l);
51  static int concat(lua_State *l);
52  };
53 }
54 
55 #endif