Moved some utility methods out of the "god class"

These methods are are now functions in server_utilities.hpp
This commit is contained in:
Kayne Ruse
2015-02-27 01:20:05 +11:00
parent d8045ae339
commit 067bf40be7
10 changed files with 219 additions and 149 deletions
+24 -21
View File
@@ -46,13 +46,14 @@ void ServerApplication::hCharacterCreate(CharacterPacket* const argPacket) {
}
//push to the rooms
roomMgr.PushCharacter(characterMgr.Get(characterIndex));
CharacterData* characterData = characterMgr.Get(characterIndex);
roomMgr.PushCharacter(characterData);
//pump this character to all clients
CharacterPacket newPacket;
CopyCharacterToPacket(&newPacket, characterIndex);
copyCharacterToPacket(&newPacket, characterIndex);
newPacket.type = SerialPacketType::CHARACTER_CREATE;
PumpPacket(&newPacket);
pumpPacketProximity(&newPacket, characterData->GetRoomIndex());
}
void ServerApplication::hCharacterDelete(CharacterPacket* const argPacket) {
@@ -90,16 +91,17 @@ void ServerApplication::hCharacterDelete(CharacterPacket* const argPacket) {
}
//pop from the rooms
roomMgr.PopCharacter(characterMgr.Get(characterIndex));
//delete the character
characterMgr.Delete(characterIndex);
CharacterData* characterData = characterMgr.Get(characterIndex);
roomMgr.PopCharacter(characterData);
//pump character delete
CharacterPacket newPacket;
newPacket.type = SerialPacketType::CHARACTER_DELETE;
newPacket.characterIndex = characterIndex;
PumpPacket(static_cast<SerialPacket*>(&newPacket));
pumpPacketProximity(static_cast<SerialPacket*>(&newPacket), characterData->GetRoomIndex());
//delete the character
characterMgr.Delete(characterIndex);
}
void ServerApplication::hCharacterLoad(CharacterPacket* const argPacket) {
@@ -126,13 +128,14 @@ void ServerApplication::hCharacterLoad(CharacterPacket* const argPacket) {
}
//push to the rooms
roomMgr.PushCharacter(characterMgr.Get(characterIndex));
CharacterData* characterData = characterMgr.Get(characterIndex);
roomMgr.PushCharacter(characterData);
//pump this character to all clients
CharacterPacket newPacket;
CopyCharacterToPacket(&newPacket, characterIndex);
copyCharacterToPacket(&newPacket, characterIndex);
newPacket.type = SerialPacketType::CHARACTER_CREATE;
PumpPacket(&newPacket);
pumpPacketProximity(&newPacket, characterData->GetRoomIndex());
}
void ServerApplication::hCharacterUnload(CharacterPacket* const argPacket) {
@@ -161,14 +164,14 @@ void ServerApplication::hCharacterUnload(CharacterPacket* const argPacket) {
//pop from the rooms
roomMgr.PopCharacter(characterData);
//unload the character
characterMgr.Unload(argPacket->characterIndex);
//pump character delete
CharacterPacket newPacket;
newPacket.type = SerialPacketType::CHARACTER_DELETE;
newPacket.characterIndex = argPacket->characterIndex;
PumpPacket(static_cast<SerialPacket*>(&newPacket));
pumpPacketProximity(static_cast<SerialPacket*>(&newPacket), characterData->GetRoomIndex());
//unload the character
characterMgr.Unload(argPacket->characterIndex);
}
//-------------------------
@@ -206,9 +209,9 @@ void ServerApplication::hCharacterMovement(CharacterPacket* const argPacket) {
if (characterData->GetRoomIndex() != argPacket->roomIndex) {
//delete from the old room
CharacterPacket newPacket;
CopyCharacterToPacket(&newPacket, argPacket->characterIndex);
copyCharacterToPacket(&newPacket, argPacket->characterIndex);
newPacket.type = SerialPacketType::CHARACTER_DELETE;
PumpPacketProximity(&newPacket, characterData->GetRoomIndex(), characterData->GetOrigin(), -1);
pumpPacketProximity(&newPacket, characterData->GetRoomIndex());
//move the character between rooms
roomMgr.PopCharacter(characterData);
@@ -216,9 +219,9 @@ void ServerApplication::hCharacterMovement(CharacterPacket* const argPacket) {
roomMgr.PushCharacter(characterData);
//create in the new room
CopyCharacterToPacket(&newPacket, argPacket->characterIndex);
copyCharacterToPacket(&newPacket, argPacket->characterIndex);
newPacket.type = SerialPacketType::CHARACTER_CREATE;
PumpPacketProximity(&newPacket, characterData->GetRoomIndex(), characterData->GetOrigin(), -1);
pumpPacketProximity(&newPacket, characterData->GetRoomIndex());
}
//if not moving between rooms
else {
@@ -228,9 +231,9 @@ void ServerApplication::hCharacterMovement(CharacterPacket* const argPacket) {
//update the clients
CharacterPacket newPacket;
CopyCharacterToPacket(&newPacket, argPacket->characterIndex);
copyCharacterToPacket(&newPacket, argPacket->characterIndex);
newPacket.type = SerialPacketType::CHARACTER_MOVEMENT;
PumpPacketProximity(&newPacket, characterData->GetRoomIndex(), characterData->GetOrigin(), -1);
pumpPacketProximity(&newPacket, characterData->GetRoomIndex());
}
}