Exemplo n.º 1
0
        /// <summary>
        ///     Kills a note at a specific index of the object pool.
        /// </summary>
        /// <param name="index"></param>
        public void KillPoolObject(GameplayHitObjectKeys gameplayHitObject)
        {
            // Change the sprite color to dead.
            gameplayHitObject.Kill();

            // Add to dead notes pool
            DeadNoteLanes[gameplayHitObject.Info.Lane - 1].Enqueue(gameplayHitObject);
        }
Exemplo n.º 2
0
        /// <summary>
        ///     Kills a hold pool object.
        /// </summary>
        /// <param name="gameplayHitObject"></param>
        public void KillHoldPoolObject(GameplayHitObjectKeys gameplayHitObject)
        {
            // Change start time and LN size.
            gameplayHitObject.InitialTrackPosition = GetPositionFromTime(CurrentAudioPosition);
            gameplayHitObject.CurrentlyBeingHeld   = false;
            gameplayHitObject.UpdateLongNoteSize(gameplayHitObject.InitialTrackPosition);
            gameplayHitObject.Kill();

            // Add to dead notes pool
            DeadNoteLanes[gameplayHitObject.Info.Lane - 1].Enqueue(gameplayHitObject);
        }
Exemplo n.º 3
0
        /// <summary>
        ///     Recycles a pool object.
        /// </summary>
        /// <param name="index"></param>
        public void RecyclePoolObject(GameplayHitObjectKeys gameplayHitObject)
        {
            var lane = HitObjectQueueLanes[gameplayHitObject.Info.Lane - 1];

            if (lane.Count > 0)
            {
                var info = lane.Dequeue();
                gameplayHitObject.InitializeObject(this, info);
                ActiveNoteLanes[info.Lane - 1].Enqueue(gameplayHitObject);
            }
            else
            {
                gameplayHitObject.Destroy();
            }
        }
Exemplo n.º 4
0
 /// <summary>
 ///     Changes a pool object to a long note that is held at the receptors.
 /// </summary>
 /// <param name="index"></param>
 public void ChangePoolObjectStatusToHeld(GameplayHitObjectKeys gameplayHitObject)
 {
     // Add to the held long notes.
     HeldLongNoteLanes[gameplayHitObject.Info.Lane - 1].Enqueue(gameplayHitObject);
     gameplayHitObject.CurrentlyBeingHeld = true;
 }