Set the values for packets, and added getRoom()

This commit is contained in:
Kayne Ruse
2014-11-26 07:11:27 +11:00
parent fa0d232727
commit 01461deaa5
2 changed files with 48 additions and 33 deletions
+32 -32
View File
@@ -38,12 +38,12 @@ enum class SerialPacketType {
//------------------------- //-------------------------
//heartbeat //heartbeat
PING, PING = 1,
PONG, PONG = 2,
//Used for finding available servers //Used for finding available servers
BROADCAST_REQUEST, BROADCAST_REQUEST = 3,
BROADCAST_RESPONSE, BROADCAST_RESPONSE = 4,
//------------------------- //-------------------------
//ClientPacket //ClientPacket
@@ -51,24 +51,24 @@ enum class SerialPacketType {
//------------------------- //-------------------------
//Connecting to a server as a client //Connecting to a server as a client
JOIN_REQUEST, JOIN_REQUEST = 5,
JOIN_RESPONSE, JOIN_RESPONSE = 6,
//disconnect from the server //disconnect from the server
DISCONNECT_REQUEST, DISCONNECT_REQUEST = 7,
DISCONNECT_RESPONSE, DISCONNECT_RESPONSE = 8,
DISCONNECT_FORCED, DISCONNECT_FORCED = 9,
//load the account //load the account
LOGIN_REQUEST, LOGIN_REQUEST = 10,
LOGIN_RESPONSE, LOGIN_RESPONSE = 11,
//unload the account //unload the account
LOGOUT_REQUEST, LOGOUT_REQUEST = 12,
LOGOUT_RESPONSE, LOGOUT_RESPONSE = 13,
//shut down the server //shut down the server
SHUTDOWN_REQUEST, SHUTDOWN_REQUEST = 14,
//------------------------- //-------------------------
//RegionPacket //RegionPacket
@@ -76,8 +76,8 @@ enum class SerialPacketType {
//------------------------- //-------------------------
//map data //map data
REGION_REQUEST, //NOTE: technically a query REGION_REQUEST = 15, //NOTE: technically a query
REGION_CONTENT, REGION_CONTENT = 16,
//------------------------- //-------------------------
//CharacterPacket //CharacterPacket
@@ -89,20 +89,20 @@ enum class SerialPacketType {
//------------------------- //-------------------------
//character management //character management
CHARACTER_CREATE, CHARACTER_CREATE = 17,
CHARACTER_DELETE, CHARACTER_DELETE = 18,
CHARACTER_LOAD, CHARACTER_LOAD = 19,
CHARACTER_UNLOAD, CHARACTER_UNLOAD = 20,
//find out info from the server //find out info from the server
QUERY_CHARACTER_EXISTS, QUERY_CHARACTER_EXISTS = 21,
QUERY_CHARACTER_STATS, QUERY_CHARACTER_STATS = 22,
QUERY_CHARACTER_LOCATION, QUERY_CHARACTER_LOCATION = 23,
//set the info in the server //set the info in the server
CHARACTER_SET_ROOM, CHARACTER_SET_ROOM = 24,
CHARACTER_SET_ORIGIN, CHARACTER_SET_ORIGIN = 25,
CHARACTER_SET_MOTION, CHARACTER_SET_MOTION = 26,
//TODO: enemy management //TODO: enemy management
@@ -112,19 +112,19 @@ enum class SerialPacketType {
//------------------------- //-------------------------
//general speech //general speech
TEXT_BROADCAST, TEXT_BROADCAST = 27,
//rejection/error messages //rejection/error messages
JOIN_REJECTION, JOIN_REJECTION = 28,
LOGIN_REJECTION, LOGIN_REJECTION = 29,
CHARACTER_REJECTION, CHARACTER_REJECTION = 30,
SHUTDOWN_REJECTION, SHUTDOWN_REJECTION = 31,
//------------------------- //-------------------------
//not used //not used
//------------------------- //-------------------------
LAST LAST = 32
}; };
#endif #endif
+16 -1
View File
@@ -44,11 +44,26 @@ int unloadRoom(lua_State* L) {
return 0; return 0;
} }
//TODO: lua API RoomManager.GetRoom(uid) int getRoom(lua_State* L) {
//TODO: integer vs name for getRoom()
RoomManager& roomMgr = RoomManager::GetSingleton();
RoomData* room = roomMgr.Get(lua_tointeger(L, 1));
if (room) {
lua_pushlightuserdata(L, static_cast<void*>(room));
}
else {
lua_pushnil(L);
}
return 1;
}
static const luaL_Reg roomManagerLib[] = { static const luaL_Reg roomManagerLib[] = {
{"CreateRoom", createRoom}, {"CreateRoom", createRoom},
{"UnloadRoom", unloadRoom}, {"UnloadRoom", unloadRoom},
{"GetRoom", getRoom},
{nullptr, nullptr} {nullptr, nullptr}
}; };