Rearranged the methods

This commit is contained in:
Kayne Ruse
2014-06-06 22:57:10 +10:00
parent 973a2be16b
commit 5c8572d811
2 changed files with 94 additions and 64 deletions
+33 -29
View File
@@ -24,22 +24,19 @@
//server specific stuff
#include "client_data.hpp"
#include "account_data.hpp"
#include "character_data.hpp"
#include "combat_data.hpp"
#include "enemy_factory_generic.hpp"
#include "account_manager.hpp"
#include "character_manager.hpp"
#include "combat_manager.hpp"
#include "room_manager.hpp"
//maps
#include "map_allocator.hpp"
#include "map_file_format.hpp"
#include "region_pager.hpp"
//networking
//common utilities
#include "udp_network_utility.hpp"
//common
#include "config_utility.hpp"
#include "vector2.hpp"
//APIs
#include "lua/lua.hpp"
@@ -51,10 +48,9 @@
#include <string>
//The main application class
//TODO: modulate this god class
class ServerApplication {
public:
//standard functions
//public methods
ServerApplication() = default;
~ServerApplication() = default;
@@ -63,47 +59,55 @@ public:
void Quit();
private:
//handle incoming traffic
void HandlePacket(SerialPacket);
//handle incoming traffic
//basic connections
void HandleBroadcastRequest(SerialPacket);
void HandleJoinRequest(SerialPacket);
void HandleSynchronize(SerialPacket);
void HandleDisconnect(SerialPacket);
void HandleShutdown(SerialPacket);
void HandleCharacterUpdate(SerialPacket);
//map management
void HandleRegionRequest(SerialPacket);
//combat management
//TODO: combat management
//character management
void HandleCharacterNew(SerialPacket);
void HandleCharacterDelete(SerialPacket);
void HandleCharacterUpdate(SerialPacket);
//enemy management
//TODO: enemy management
//mismanagement
void HandleSynchronize(SerialPacket);
//utility methods
//TODO: a function that only sends to characters in a certain proximity
void PumpPacket(SerialPacket);
void PumpCharacterUnload(int uid);
//TODO: Account management
//TODO: character management
//TODO: combat management
//APIs
UDPNetworkUtility network;
//APIs and utilities
sqlite3* database = nullptr;
lua_State* luaState = nullptr;
UDPNetworkUtility network;
ConfigUtility config;
//server tables
std::map<int, ClientData> clientMap;
std::map<int, CombatData> combatMap;
std::map<int, EnemyData> enemyMap;
//maps
//TODO: I need to handle multiple map objects
//TODO: Unload regions that are distant from any characters
RegionPager<LuaAllocator, LuaFormat> regionPager;
EnemyFactoryGeneric enemyFactory;
//managers
AccountManager accountMgr;
CharacterManager characterMgr;
CombatManager combatMgr;
RoomManager roomMgr;
//misc
bool running = true;
ConfigUtility config;
int clientUID = 0;
int combatUID = 0;
int enemyUID = 0;
};
#endif