public void InvokeHardInit()
        {
            IsPlaying = false;

            OnHardInit?.Invoke();

            // Load map hitsounds only if enabled in configuration.
            if (GameConfiguration.UseBeatmapHitsounds.Value)
            {
                Model.AddAsLoader(MapAssetStore.LoadHitsounds());
            }
        }
Example #2
0
        /// <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);
        }