Example #1
0
        /// <inheritdoc />
        /// <summary>
        ///
        /// </summary>
        /// <param name="gameTime"></param>
        public override void Update(GameTime gameTime)
        {
            if (!Screen.Failed && !Screen.IsPaused && ConfigManager.DisplayTimingLines.Value)
            {
                TimingLineManager.UpdateObjectPool();
            }

            base.Update(gameTime);
        }
Example #2
0
        /// <summary>
        ///     Generate Timing Line Managers for scroll direction. Will create multiple managers if  multiple scroll directions exist.
        /// </summary>
        /// <param name="keys"></param>
        /// <param name="direction"></param>
        private void InitializeTimingLines()
        {
            // Do not create timing lines if DisplayTiminbgLines config is turned off.
            if (!ConfigManager.DisplayTimingLines.Value)
            {
                return;
            }

            var direction = ScrollDirection;
            var playfield = (GameplayPlayfieldKeys)Playfield;
            var keys      = MapManager.Selected.Value.Qua.GetKeyCount();

            if (direction.Equals(ScrollDirection.Split))
            {
                var halfIndex = (int)Math.Ceiling(keys / 2.0) - 1;
                var halfPos   = playfield.Stage.Receptors[halfIndex].X + playfield.Stage.Receptors[halfIndex].Width;
                TimingLineManager.Add(new TimingLineManager(this, ScrollDirection.Down, playfield.TimingLinePositionY[0], halfPos, 0));
                TimingLineManager.Add(new TimingLineManager(this, ScrollDirection.Up, playfield.TimingLinePositionY[halfIndex + 1], playfield.Width - halfPos, halfPos));
                return;
            }
            TimingLineManager.Add(new TimingLineManager(this, direction, playfield.TimingLinePositionY[0], playfield.Width, 0));
        }