private void OnDestroyRemotePlayer(ref DestroyRemotePlayer p) { byte index = p.Index; Root.DispatchToMainThread(delegate { RemotePlayer player = Interlocked.Exchange(ref remotePlayers[index], null); if (player != null) { //RemoveObject(player); RemoveActor(player); } }); }
private void OnDestroyRemotePlayer(ref DestroyRemotePlayer p) { int index = p.Index; RemotePlayer player; if (remotePlayers.TryGetValue(index, out player)) { Root.DispatchToMainThread(delegate { remotePlayers.Remove(index); RemoveObject(player); }); Console.WriteLine(" | RemotePlayer destroyed: " + index); } }