Example #1
0
        public void Destroy()
        {
            if (IsDestroyed)
            {
                return;
            }

            IsDestroyed = true;

            // Remove players
            foreach (var member in membersByUsernameList.Values.ToList())
            {
                RemovePlayer(member.Extension);
            }

            if (gameSpawnTask != null)
            {
                gameSpawnTask.OnStatusChangedEvent -= OnSpawnServerStatusChanged;
                gameSpawnTask.KillSpawnedProcess();
            }

            OnDestroyedEvent?.Invoke(this);
        }