Example #1
0
 public override void JudgePassive(float curTime, HitObjectView hitObjectView)
 {
     foreach (var result in hitObjectView.JudgePassive(curTime))
     {
         RecordJudgement(result.Key, result.Value, true);
         AddJudgement(result.Value);
     }
 }
Example #2
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();
        }
 public override void JudgePassive(float curTime, HitObjectView hitObjectView)
 {
     // Nothing to do. All judgements should be simulated in Update.
 }
Example #4
0
 /// <summary>
 /// Handles passive judgement of the specified hit object view.
 /// </summary>
 public abstract void JudgePassive(float curTime, HitObjectView hitObjectView);