mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-04-20 11:47:48 +00:00
Fixed null worldManager due to it being set as a static variable at class creation.
This commit is contained in:
parent
8df79c9e6f
commit
b45390adb6
1 changed files with 9 additions and 8 deletions
|
@ -24,7 +24,6 @@ namespace FFXIVClassic_Lobby_Server
|
||||||
class CommandProcessor
|
class CommandProcessor
|
||||||
{
|
{
|
||||||
private Dictionary<uint, ConnectedPlayer> mConnectedPlayerList;
|
private Dictionary<uint, ConnectedPlayer> mConnectedPlayerList;
|
||||||
private static WorldManager mWorldManager = Server.GetWorldManager();
|
|
||||||
private static Dictionary<uint, Item> gamedataItems = Server.GetGamedataItems();
|
private static Dictionary<uint, Item> gamedataItems = Server.GetGamedataItems();
|
||||||
|
|
||||||
// For the moment, this is the only predefined item
|
// For the moment, this is the only predefined item
|
||||||
|
@ -102,25 +101,27 @@ namespace FFXIVClassic_Lobby_Server
|
||||||
/// <param name="id">Predefined list: <ffxiv_database>\server_zones_spawnlocations</param>
|
/// <param name="id">Predefined list: <ffxiv_database>\server_zones_spawnlocations</param>
|
||||||
public void doWarp(ConnectedPlayer client, uint id)
|
public void doWarp(ConnectedPlayer client, uint id)
|
||||||
{
|
{
|
||||||
FFXIVClassic_Map_Server.WorldManager.ZoneEntrance ze = mWorldManager.getZoneEntrance(id);
|
WorldManager worldManager = Server.GetWorldManager();
|
||||||
|
FFXIVClassic_Map_Server.WorldManager.ZoneEntrance ze = worldManager.getZoneEntrance(id);
|
||||||
|
|
||||||
if (ze == null)
|
if (ze == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (client != null)
|
if (client != null)
|
||||||
mWorldManager.DoZoneChange(client.getActor(), ze.zoneId, ze.privateAreaName, ze.spawnType, ze.spawnX, ze.spawnY, ze.spawnZ, ze.spawnRotation);
|
worldManager.DoZoneChange(client.getActor(), ze.zoneId, ze.privateAreaName, ze.spawnType, ze.spawnX, ze.spawnY, ze.spawnZ, ze.spawnRotation);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
foreach (KeyValuePair<uint, ConnectedPlayer> entry in mConnectedPlayerList)
|
foreach (KeyValuePair<uint, ConnectedPlayer> entry in mConnectedPlayerList)
|
||||||
{
|
{
|
||||||
mWorldManager.DoZoneChange(entry.Value.getActor(), ze.zoneId, ze.privateAreaName, ze.spawnType, ze.spawnX, ze.spawnY, ze.spawnZ, ze.spawnRotation);
|
worldManager.DoZoneChange(entry.Value.getActor(), ze.zoneId, ze.privateAreaName, ze.spawnType, ze.spawnX, ze.spawnY, ze.spawnZ, ze.spawnRotation);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void doWarp(ConnectedPlayer client, uint zoneId, string privateArea, byte spawnType, float x, float y, float z, float r)
|
public void doWarp(ConnectedPlayer client, uint zoneId, string privateArea, byte spawnType, float x, float y, float z, float r)
|
||||||
{
|
{
|
||||||
if (mWorldManager.GetZone(zoneId) == null)
|
WorldManager worldManager = Server.GetWorldManager();
|
||||||
|
if (worldManager.GetZone(zoneId) == null)
|
||||||
{
|
{
|
||||||
if (client != null)
|
if (client != null)
|
||||||
client.queuePacket(BasePacket.createPacket(SendMessagePacket.buildPacket(client.actorID, client.actorID, SendMessagePacket.MESSAGE_TYPE_GENERAL_INFO, "", "Zone does not exist or setting isn't valid."), true, false));
|
client.queuePacket(BasePacket.createPacket(SendMessagePacket.buildPacket(client.actorID, client.actorID, SendMessagePacket.MESSAGE_TYPE_GENERAL_INFO, "", "Zone does not exist or setting isn't valid."), true, false));
|
||||||
|
@ -128,12 +129,12 @@ namespace FFXIVClassic_Lobby_Server
|
||||||
}
|
}
|
||||||
|
|
||||||
if (client != null)
|
if (client != null)
|
||||||
mWorldManager.DoZoneChange(client.getActor(), zoneId, privateArea, spawnType, x, y, z, r);
|
worldManager.DoZoneChange(client.getActor(), zoneId, privateArea, spawnType, x, y, z, r);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
foreach (KeyValuePair<uint, ConnectedPlayer> entry in mConnectedPlayerList)
|
foreach (KeyValuePair<uint, ConnectedPlayer> entry in mConnectedPlayerList)
|
||||||
{
|
{
|
||||||
mWorldManager.DoZoneChange(entry.Value.getActor(), zoneId, privateArea, spawnType, x, y, z, r);
|
worldManager.DoZoneChange(entry.Value.getActor(), zoneId, privateArea, spawnType, x, y, z, r);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -621,7 +622,7 @@ namespace FFXIVClassic_Lobby_Server
|
||||||
client.getActor().sendInstanceUpdate();
|
client.getActor().sendInstanceUpdate();
|
||||||
client.queuePacket(BasePacket.createPacket(SendMessagePacket.buildPacket(client.actorID, client.actorID, SendMessagePacket.MESSAGE_TYPE_GENERAL_INFO, "", String.Format("Reseting zone {0}...", client.getActor().zoneId)), true, false));
|
client.queuePacket(BasePacket.createPacket(SendMessagePacket.buildPacket(client.actorID, client.actorID, SendMessagePacket.MESSAGE_TYPE_GENERAL_INFO, "", String.Format("Reseting zone {0}...", client.getActor().zoneId)), true, false));
|
||||||
}
|
}
|
||||||
mWorldManager.reloadZone(client.getActor().zoneId);
|
Server.GetWorldManager().reloadZone(client.getActor().zoneId);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
Loading…
Add table
Reference in a new issue