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