/// <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); }
/// <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)); }