/// <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();
        }
Esempio n. 2
0
        /// <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();
        }