The server is updating the barrier display

This commit is contained in:
2016-04-12 19:11:57 +10:00
parent 20b121766a
commit 7c88392cf3
4 changed files with 48 additions and 29 deletions
+2 -2
View File
@@ -66,13 +66,13 @@ static int getInstance(lua_State* L) {
static int setStatus(lua_State* L) {
BarrierData* barrier = static_cast<BarrierData*>(lua_touserdata(L, 1));
barrier->SetStatus(lua_tointeger(L, 2), lua_tointeger(L, 3));
barrier->SetStatus(lua_tointeger(L, 2) - 1, lua_tointeger(L, 3));
return 0;
}
static int getStatus(lua_State* L) {
BarrierData* barrier = static_cast<BarrierData*>(lua_touserdata(L, 1));
lua_pushinteger(L, barrier->GetStatus(lua_tointeger(L, 2)) );
lua_pushinteger(L, barrier->GetStatus(lua_tointeger(L, 2) - 1));
return 1;
}
+4 -3
View File
@@ -23,6 +23,7 @@
#include <cstring>
#include <sstream>
#include <stdexcept>
BarrierData::BarrierData(int i):
Entity::Entity("barrier")
@@ -47,7 +48,7 @@ int BarrierData::Update(lua_State* L) {
//check for errors
if(lua_pcall(L, 1, 1, 0) != LUA_OK) {
std::ostringstream msg;
msg << "Error running creature script: " << lua_tostring(L, -1);
msg << "Error running barrier script: " << lua_tostring(L, -1);
lua_pop(L, 1);
throw(std::runtime_error(msg.str()));
}
@@ -86,14 +87,14 @@ int BarrierData::GetInstanceIndex() const {
int BarrierData::SetStatus(int k, int v) {
if (k < 0 || k >= 8) {
return -1;
throw(std::runtime_error("Failed to set status"));
}
return status[k] = v;
}
int BarrierData::GetStatus(int k) {
if (k < 0 || k >= 8) {
return -1;
throw(std::runtime_error("Failed to get status"));
}
return status[k];
}