public override void Reset() { base.Reset(); Clock.ProcessFrame(); Container approachContainer = new Container { Depth = float.MinValue, }; Add(approachContainer); const int count = 10; for (int i = 0; i < count; i++) { var h = new HitCircle { StartTime = Clock.CurrentTime + 1000 + i * 80, Position = new Vector2((i - count / 2) * 14), }; DrawableHitCircle d = new DrawableHitCircle(h) { Anchor = Anchor.Centre, Origin = Anchor.Centre, Depth = i, State = ArmedState.Hit, Judgement = new OsuJudgementInfo { Result = HitResult.Hit } }; approachContainer.Add(d.ApproachCircle.CreateProxy()); Add(d); } }
public DrawableSpinner(Spinner s) : base(s) { AlwaysReceiveInput = true; Origin = Anchor.Centre; Position = s.Position; //take up full playfield. Size = new Vector2(512); spinner = s; Children = new Drawable[] { background = new SpinnerBackground { Alpha = 0, Anchor = Anchor.Centre, Origin = Anchor.Centre, DiscColour = Color4.Black }, disc = new SpinnerDisc { Alpha = 0, Anchor = Anchor.Centre, Origin = Anchor.Centre, DiscColour = s.ComboColour }, circleContainer = new Container { AutoSizeAxes = Axes.Both, Anchor = Anchor.Centre, Origin = Anchor.Centre, Children = new [] { circle = new DrawableHitCircle(s) { Interactive = false, Position = Vector2.Zero, Anchor = Anchor.Centre, } } } }; background.Scale = scaleToCircle; disc.Scale = scaleToCircle; }