Ejemplo n.º 1
0
        protected virtual void AddNested(DrawableHitObject h)
        {
            h.OnJudgement            += (d, j) => OnJudgement?.Invoke(d, j);
            h.OnJudgementRemoved     += (d, j) => OnJudgementRemoved?.Invoke(d, j);
            h.ApplyCustomUpdateState += (d, j) => ApplyCustomUpdateState?.Invoke(d, j);

            nestedHitObjects.Value.Add(h);
        }
Ejemplo n.º 2
0
        protected virtual void AddNested(DrawableHitObject h)
        {
            if (nestedHitObjects == null)
            {
                nestedHitObjects = new List <DrawableHitObject>();
            }

            h.OnJudgement            += (d, j) => OnJudgement?.Invoke(d, j);
            h.OnJudgementRemoved     += (d, j) => OnJudgementRemoved?.Invoke(d, j);
            h.ApplyCustomUpdateState += (d, j) => ApplyCustomUpdateState?.Invoke(d, j);

            nestedHitObjects.Add(h);
        }
Ejemplo n.º 3
0
        protected override void Update()
        {
            base.Update();

            var endTime = (HitObject as IHasEndTime)?.EndTime ?? HitObject.StartTime;

            while (judgements.Count > 0)
            {
                var lastJudgement = judgements[judgements.Count - 1];
                if (lastJudgement.TimeOffset + endTime <= Time.Current)
                {
                    break;
                }

                judgements.RemoveAt(judgements.Count - 1);
                State.Value = ArmedState.Idle;

                OnJudgementRemoved?.Invoke(this, lastJudgement);
            }
        }