Padded some API internals
This commit is contained in:
@@ -26,19 +26,30 @@
|
|||||||
#include "entity_api.hpp"
|
#include "entity_api.hpp"
|
||||||
|
|
||||||
static int setAvatar(lua_State* L) {
|
static int setAvatar(lua_State* L) {
|
||||||
//TODO
|
MonsterData* monster = static_cast<MonsterData*>(lua_touserdata(L, 1));
|
||||||
|
monster->SetAvatar(lua_tostring(L, 2));
|
||||||
|
//TODO: send an update to the clients?
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int getAvatar(lua_State* L) {
|
static int getAvatar(lua_State* L) {
|
||||||
//TODO
|
MonsterData* monster = static_cast<MonsterData*>(lua_touserdata(L, 1));
|
||||||
|
lua_pushstring(L, monster->GetAvatar().c_str());
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int setScript(lua_State* L) {
|
static int setScript(lua_State* L) {
|
||||||
//TODO
|
MonsterData* monster = static_cast<MonsterData*>(lua_touserdata(L, 1));
|
||||||
|
luaL_unref(L, LUA_REGISTRYINDEX, monster->GetScriptReference());
|
||||||
|
monster->SetScriptReference(luaL_ref(L, LUA_REGISTRYINDEX));
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int getScript(lua_State* L) {
|
static int getScript(lua_State* L) {
|
||||||
//TODO
|
MonsterData* monster = static_cast<MonsterData*>(lua_touserdata(L, 1));
|
||||||
|
lua_pushinteger(L, monster->GetScriptReference());
|
||||||
|
lua_gettable(L, LUA_REGISTRYINDEX);
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const luaL_Reg monsterLib[] = {
|
static const luaL_Reg monsterLib[] = {
|
||||||
|
|||||||
@@ -23,39 +23,54 @@
|
|||||||
|
|
||||||
#include "waypoint_data.hpp"
|
#include "waypoint_data.hpp"
|
||||||
|
|
||||||
//TODO: return multiple values, dummy
|
|
||||||
|
|
||||||
//origin
|
//origin
|
||||||
static int setOrigin(lua_State* L) {
|
static int setOrigin(lua_State* L) {
|
||||||
//TODO
|
WaypointData* waypoint = static_cast<WaypointData*>(lua_touserdata(L, 1));
|
||||||
|
waypoint->SetOrigin(Vector2(lua_tonumber(L, 2), lua_tonumber(L, 3)));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int getOrigin(lua_State* L) {
|
static int getOrigin(lua_State* L) {
|
||||||
//TODO
|
WaypointData* waypoint = static_cast<WaypointData*>(lua_touserdata(L, 1));
|
||||||
return 0;
|
lua_pushnumber(L, waypoint->GetOrigin().x);
|
||||||
|
lua_pushnumber(L, waypoint->GetOrigin().y);
|
||||||
|
return 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
//bounds
|
//bounds
|
||||||
static int setBoundingBox(lua_State* L) {
|
static int setBoundingBox(lua_State* L) {
|
||||||
//TODO
|
WaypointData* waypoint = static_cast<WaypointData*>(lua_touserdata(L, 1));
|
||||||
|
waypoint->SetBoundingBox(BoundingBox(
|
||||||
|
lua_tonumber(L, 2),
|
||||||
|
lua_tonumber(L, 3),
|
||||||
|
lua_tonumber(L, 4),
|
||||||
|
lua_tonumber(L, 5)
|
||||||
|
));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int getBoundingBox(lua_State* L) {
|
static int getBoundingBox(lua_State* L) {
|
||||||
//TODO
|
WaypointData* waypoint = static_cast<WaypointData*>(lua_touserdata(L, 1));
|
||||||
return 0;
|
lua_pushnumber(L, waypoint->GetBoundingBox().x);
|
||||||
|
lua_pushnumber(L, waypoint->GetBoundingBox().y);
|
||||||
|
lua_pushnumber(L, waypoint->GetBoundingBox().w);
|
||||||
|
lua_pushnumber(L, waypoint->GetBoundingBox().h);
|
||||||
|
return 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
//triggers
|
//triggers
|
||||||
static int setTriggerReference(lua_State* L) {
|
static int setTriggerReference(lua_State* L) {
|
||||||
//TODO
|
WaypointData* waypoint = static_cast<WaypointData*>(lua_touserdata(L, 1));
|
||||||
|
luaL_unref(L, LUA_REGISTRYINDEX, waypoint->GetTriggerReference());
|
||||||
|
waypoint->SetTriggerReference(luaL_ref(L, LUA_REGISTRYINDEX));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int getTriggerReference(lua_State* L) {
|
static int getTriggerReference(lua_State* L) {
|
||||||
//TODO
|
WaypointData* waypoint = static_cast<WaypointData*>(lua_touserdata(L, 1));
|
||||||
return 0;
|
lua_pushinteger(L, waypoint->GetTriggerReference());
|
||||||
|
lua_gettable(L, LUA_REGISTRYINDEX);
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const luaL_Reg waypointLib[] = {
|
static const luaL_Reg waypointLib[] = {
|
||||||
|
|||||||
@@ -23,20 +23,28 @@
|
|||||||
|
|
||||||
#include "waypoint_manager.hpp"
|
#include "waypoint_manager.hpp"
|
||||||
|
|
||||||
|
//TODO: figure out a way to iterate through elements of managers from lua
|
||||||
|
|
||||||
static int create(lua_State* L) {
|
static int create(lua_State* L) {
|
||||||
|
WaypointManager* mgr = static_cast<WaypointManager*>(lua_touserdata(L, 1));
|
||||||
//TODO
|
//TODO
|
||||||
}
|
}
|
||||||
|
|
||||||
static int unload(lua_State* L) {
|
static int unload(lua_State* L) {
|
||||||
|
WaypointManager* mgr = static_cast<WaypointManager*>(lua_touserdata(L, 1));
|
||||||
//TODO
|
//TODO
|
||||||
}
|
}
|
||||||
|
|
||||||
static int getWaypoint(lua_State* L) {
|
static int getWaypoint(lua_State* L) {
|
||||||
//TODO
|
WaypointManager* mgr = static_cast<WaypointManager*>(lua_touserdata(L, 1));
|
||||||
|
lua_pushlightuserdata(L, mgr->Get(lua_tointeger(L, 2)));
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int getLoadedCount(lua_State* L) {
|
static int getLoadedCount(lua_State* L) {
|
||||||
//TODO
|
WaypointManager* mgr = static_cast<WaypointManager*>(lua_touserdata(L, 1));
|
||||||
|
lua_pushinteger(L, mgr->GetLoadedCount());
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const luaL_Reg waypointManagerLib[] = {
|
static const luaL_Reg waypointManagerLib[] = {
|
||||||
|
|||||||
Reference in New Issue
Block a user