public override void Add(HitObject h) { switch (h) { case SentakkiLanedHitObject laned: hitObjectLineRenderer.AddHitObject(laned); laned.LaneBindable.BindValueChanged(lane => { if (lane.OldValue != lane.NewValue) { Lanes[lane.OldValue].Remove(h); } Lanes[lane.NewValue].Add(h); }, true); break; } }
private void createHitObjects(int amount = 1) { for (int i = 0; i < amount; ++i) { var lane = RNG.Next(0, 8); var ho = new Tap { StartTime = Time.Current + 1000, Lane = lane }; lineRenderer.AddHitObject(ho); Add(new Circle { Size = new Vector2(20), Colour = Color4.White, LifetimeEnd = Time.Current + 1000, Anchor = Anchor.Centre, Origin = Anchor.Centre, Position = SentakkiExtensions.GetPositionAlongLane(300, lane) }); } }