Fixes for networking change in 762f460e23
This commit is contained in:
committed by
Wojtek Figat
parent
7184566b4b
commit
c6bbfdc7f0
@@ -316,7 +316,6 @@ void NetworkManager::Stop()
|
|||||||
client->State = NetworkConnectionState::Disconnecting;
|
client->State = NetworkConnectionState::Disconnecting;
|
||||||
StateChanged();
|
StateChanged();
|
||||||
|
|
||||||
NetworkInternal::NetworkReplicatorClear();
|
|
||||||
for (int32 i = Clients.Count() - 1; i >= 0; i--)
|
for (int32 i = Clients.Count() - 1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
NetworkClient* client = Clients[i];
|
NetworkClient* client = Clients[i];
|
||||||
@@ -330,6 +329,7 @@ void NetworkManager::Stop()
|
|||||||
ClientDisconnected(LocalClient);
|
ClientDisconnected(LocalClient);
|
||||||
LocalClient->State = NetworkConnectionState::Disconnected;
|
LocalClient->State = NetworkConnectionState::Disconnected;
|
||||||
}
|
}
|
||||||
|
NetworkInternal::NetworkReplicatorClear();
|
||||||
StopPeer();
|
StopPeer();
|
||||||
if (LocalClient)
|
if (LocalClient)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -735,7 +735,20 @@ void NetworkReplicator::DespawnObject(ScriptingObject* obj)
|
|||||||
ScopeLock lock(ObjectsLock);
|
ScopeLock lock(ObjectsLock);
|
||||||
const auto it = Objects.Find(obj->GetID());
|
const auto it = Objects.Find(obj->GetID());
|
||||||
if (it == Objects.End())
|
if (it == Objects.End())
|
||||||
|
{
|
||||||
|
// Special case if we're just spawning this object
|
||||||
|
for (int32 i = 0; i < SpawnQueue.Count(); i++)
|
||||||
|
{
|
||||||
|
auto& item = SpawnQueue[i];
|
||||||
|
if (item.Object == obj)
|
||||||
|
{
|
||||||
|
SpawnQueue.RemoveAt(i);
|
||||||
|
DeleteNetworkObject(obj);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
auto& item = it->Item;
|
auto& item = it->Item;
|
||||||
if (item.Object != obj || !item.Spawned || item.OwnerClientId != NetworkManager::LocalClientId)
|
if (item.Object != obj || !item.Spawned || item.OwnerClientId != NetworkManager::LocalClientId)
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user