public void InvokeHardInit() { IsPlaying = false; OnHardInit?.Invoke(); // Load map hitsounds only if enabled in configuration. if (GameConfiguration.UseBeatmapHitsounds.Value) { Model.AddAsLoader(MapAssetStore.LoadHitsounds()); } }
/// <summary> /// Event called on game session hard initialization. /// </summary> private void OnHardInit() { curComboOffset = 0; comboColors = GameSession.CurrentMap.ComboColors; if (comboColors == null || comboColors.Count == 0) { comboColors = ColorPreset.DefaultComboColors; } Coroutine loadRoutine = null; ManualTask task = new ManualTask((t) => loadRoutine = UnityThread.StartCoroutine(LoadHitObjects(t))); task.IsRevoked.OnNewValue += (revoked) => { if (revoked && loadRoutine != null) { UnityThread.StopCoroutine(loadRoutine); } }; Model.AddAsLoader(task); }