public void SetGameSpawnTask(SpawnTask task) { if (task == null) { return; } if (GameSpawnTask == task) { return; } if (GameSpawnTask != null) { // Unsubscribe from previous game GameSpawnTask.StatusChanged -= OnSpawnServerStatusChanged; GameSpawnTask.Abort(); } GameSpawnTask = task; task.StatusChanged += OnSpawnServerStatusChanged; }