Implemented client-side HandleRegionContent()
This commit is contained in:
@@ -212,6 +212,12 @@ void InWorld::HandlePacket(SerialPacket* const argPacket) {
|
|||||||
HandleDisconnectForced(static_cast<ClientPacket*>(argPacket));
|
HandleDisconnectForced(static_cast<ClientPacket*>(argPacket));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
//map management
|
||||||
|
case SerialPacketType::REGION_CONTENT:
|
||||||
|
HandleRegionContent(static_cast<RegionPacket*>(argPacket));
|
||||||
|
break;
|
||||||
|
|
||||||
|
//errors
|
||||||
default: {
|
default: {
|
||||||
std::ostringstream msg;
|
std::ostringstream msg;
|
||||||
msg << "Unknown SerialPacketType encountered in InWorld: " << static_cast<int>(argPacket->type);
|
msg << "Unknown SerialPacketType encountered in InWorld: " << static_cast<int>(argPacket->type);
|
||||||
@@ -287,3 +293,17 @@ void InWorld::HandleDisconnectForced(ClientPacket* const argPacket) {
|
|||||||
SetNextScene(SceneList::DISCONNECTEDSCREEN);
|
SetNextScene(SceneList::DISCONNECTEDSCREEN);
|
||||||
ConfigUtility::GetSingleton()["client.disconnectMessage"] = "You have been forcibly disconnected by the server";
|
ConfigUtility::GetSingleton()["client.disconnectMessage"] = "You have been forcibly disconnected by the server";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//-------------------------
|
||||||
|
//map management
|
||||||
|
//-------------------------
|
||||||
|
|
||||||
|
void InWorld::HandleRegionContent(RegionPacket* const argPacket) {
|
||||||
|
//replace existing regions
|
||||||
|
regionPager.UnloadRegion(argPacket->x, argPacket->y);
|
||||||
|
regionPager.PushRegion(argPacket->region);
|
||||||
|
|
||||||
|
//clean up after the serial code
|
||||||
|
delete argPacket->region;
|
||||||
|
argPacket->region = nullptr;
|
||||||
|
}
|
||||||
@@ -86,6 +86,9 @@ protected:
|
|||||||
void HandleDisconnectResponse(ClientPacket* const);
|
void HandleDisconnectResponse(ClientPacket* const);
|
||||||
void HandleDisconnectForced(ClientPacket* const);
|
void HandleDisconnectForced(ClientPacket* const);
|
||||||
|
|
||||||
|
//map management
|
||||||
|
void HandleRegionContent(RegionPacket* const);
|
||||||
|
|
||||||
//indexes
|
//indexes
|
||||||
int& clientIndex;
|
int& clientIndex;
|
||||||
int& accountIndex;
|
int& accountIndex;
|
||||||
|
|||||||
Reference in New Issue
Block a user