/// <summary> /// Ctor /// </summary> /// <param name="screen"></param> /// <param name="playfield"></param> public GameplayPlayfieldKeysStage(GameplayScreen screen, GameplayPlayfieldKeys playfield) { Screen = screen; Playfield = playfield; CreateStageLeft(); CreateStageRight(); CreateBgMask(); CreateHitPositionOverlay(); // Depending on what the skin.ini's value is, we'll want to either initialize // the receptors first, or the playfield first. if (Skin.ReceptorsOverHitObjects) { CreateTimingLineContainer(); CreateHitObjectContainer(); CreateReceptorsAndLighting(); } else { CreateReceptorsAndLighting(); CreateTimingLineContainer(); CreateHitObjectContainer(); } CreateDistantOverlay(); CreateComboDisplay(); CreateHitError(); CreateJudgementHitBurst(); CreateHitLighting(); CreateHealthBar(); CreateSongInfo(); }
/// <summary> /// Ctor /// </summary> /// <param name="screen"></param> /// <param name="playfield"></param> public GameplayPlayfieldKeysStage(GameplayScreen screen, GameplayPlayfieldKeys playfield) { Screen = screen; Playfield = playfield; CreateStageLeft(); CreateStageRight(); CreateBgMask(); CreateHitPositionOverlay(); // Depending on what the skin.ini's value is, we'll want to either initialize // the receptors first, or the playfield first. if (Skin.ReceptorsOverHitObjects) { CreateTimingLineContainer(); CreateHitObjectContainer(); CreateReceptorsAndLighting(); } else { CreateReceptorsAndLighting(); CreateTimingLineContainer(); CreateHitObjectContainer(); } CreateDistantOverlay(); // Depending on what the config value is, we'll display ui elements over the lane cover. // Note: Lane cover will always be displayed over the receptors due to the creation order. if (ConfigManager.UIElementsOverLaneCover.Value) { CreateLaneCoverOverlay(); CreateComboDisplay(); CreateHitError(); CreateHitLighting(); CreateJudgementHitBurst(); CreateSongInfo(); } else { CreateComboDisplay(); CreateHitError(); CreateJudgementHitBurst(); CreateHitLighting(); CreateSongInfo(); CreateLaneCoverOverlay(); } CreateHealthBar(); }