Exemple #1
0
        /// <summary>
        /// Starts loading hit object to resolve for specified future.
        /// </summary>
        private IEnumerator LoadHitObjects(ManualTask task)
        {
            int createCount = 0;
            int lastLoads   = 0;

            foreach (var obj in GameSession.CurrentMap.HitObjects)
            {
                // If create count reached 0, determine new creation count.
                if (createCount <= 0)
                {
                    createCount = Mathf.Max((int)((1f / Time.deltaTime) + lastLoads) / 4, 1);
                    lastLoads   = createCount;
                    yield return(null);
                }
                createCount--;

                HitObjectView hitObjView = null;
                if (obj is HitCircle hitCircle)
                {
                    var hitCircleView = hitCircleRecycler.GetNext();
                    hitCircleView.Depth       = hitObjectViews.Count;
                    hitCircleView.ObjectIndex = hitObjectViews.Count;
                    hitCircleView.SetHitObject(hitCircle);

                    hitObjectViews.Add(hitCircleView);
                    hitObjView = hitCircleView;
                }
                else if (obj is Dragger dragger)
                {
                    var draggerView = draggerRecycler.GetNext();
                    draggerView.Depth       = hitObjectViews.Count;
                    draggerView.ObjectIndex = hitObjectViews.Count;
                    draggerView.SetHitObject(dragger);

                    hitObjectViews.Add(draggerView);
                    hitObjView = draggerView;
                }

                if (hitObjView != null)
                {
                    // Apply combo color
                    var combo = obj as IHasCombo;
                    if (combo != null)
                    {
                        hitObjView.Tint = GetComboColor(combo);
                    }
                }
            }
            task.SetFinished();
        }
Exemple #2
0
 // ========================================
 // method
 // ========================================
 public void AddChildEditorFigure(IFigure childEditorFigure)
 {
     _childEditorFigures.Add(childEditorFigure);
 }