Beispiel #1
0
        private void Start()
        {
            localPlayer = NetworkManager.Instance.InstantiatePlayer() as NetworkedPlayer;

            if (!NetworkManager.Instance.IsServer)
            {
                return;
            }

            NetworkManager.Instance.Networker.playerDisconnected += (player, networker) =>
            {
                MainThreadManager.Run((() =>
                {
                    List <NetworkObject> toDelete = new List <NetworkObject>();
                    foreach (var obj in networker.NetworkObjectList)
                    {
                        if (obj.Owner == player)
                        {
                            toDelete.Add(obj);
                        }
                    }

                    if (toDelete.Count > 0)
                    {
                        for (int i = toDelete.Count - 1; i >= 0; i--)
                        {
                            networker.NetworkObjectList.Remove(toDelete[i]);
                            toDelete[i].Destroy();
                        }
                    }
                }));
            };
        }