protected override void UpdateHitStateTransforms(ArmedState state) { base.UpdateHitStateTransforms(state); (CirclePiece.Drawable as IMainCirclePiece)?.Animate(state); switch (state) { case ArmedState.Idle: this.Delay(HitObject.TimePreempt).FadeOut(); break; case ArmedState.Miss: this.FadeOut(animDuration); break; case ArmedState.Hit: this.FadeOut(animDuration, Easing.Out); const float final_scale = 1.5f; Arrow.ScaleTo(Scale * final_scale, animDuration, Easing.Out); CirclePiece.ScaleTo(Scale * final_scale, animDuration, Easing.Out); break; } }
public SwellCircle(CirclePiece piece) : base(piece) { Piece.Add(new TextAwesome { Anchor = Anchor.Centre, Origin = Anchor.Centre, TextSize = SYMBOL_INNER_SIZE, Icon = FontAwesome.fa_asterisk, Shadow = false }); }
protected DrawableHit(Hit hit) : base(hit) { this.hit = hit; AddInternal(bodyContainer = new Container { Anchor = Anchor.Centre, Origin = Anchor.Centre, }); Add(Circle = CreateCirclePiece()); Circle.KiaiMode = HitObject.Kiai; }
public CentreHitCircle(CirclePiece piece) : base(piece) { Piece.Add(new CircularContainer { Anchor = Anchor.Centre, Origin = Anchor.Centre, Size = new Vector2(SYMBOL_INNER_SIZE), Masking = true, Children = new[] { new Box { RelativeSizeAxes = Axes.Both } } }); }
public RimHitCircle(CirclePiece piece) : base(piece) { Piece.Add(new CircularContainer { Anchor = Anchor.Centre, Origin = Anchor.Centre, Size = new Vector2(SYMBOL_SIZE), BorderThickness = SYMBOL_BORDER, BorderColour = Color4.White, Masking = true, Children = new[] { new Box { RelativeSizeAxes = Axes.Both, Alpha = 0, AlwaysPresent = true } } }); }
private void load(DrawableHitObject drawableHitObject) { spinner = (DrawableSpinner)drawableHitObject; InternalChildren = new Drawable[] { glow = new GlowPiece(), circle = new CirclePiece { Position = Vector2.Zero, Anchor = Anchor.Centre, }, new RingPiece(), symbol = new SpriteIcon { Anchor = Anchor.Centre, Origin = Anchor.Centre, Size = new Vector2(48), Icon = FontAwesome.Solid.Asterisk, Shadow = false, }, }; }
public DrawableDrumRoll(DrumRoll drumRoll) : base(drumRoll) { this.drumRoll = drumRoll; RelativeSizeAxes = Axes.X; Width = (float)(drumRoll.Duration / drumRoll.PreEmpt); Add(circle = CreateCirclePiece()); circle.KiaiMode = HitObject.Kiai; foreach (var tick in drumRoll.Ticks) { var newTick = new DrawableDrumRollTick(tick) { X = (float)((tick.StartTime - HitObject.StartTime) / drumRoll.Duration) }; newTick.OnJudgement += onTickJudgement; AddNested(newTick); Add(newTick); } }
public DrawableSpinner(Spinner s) : base(s) { AlwaysReceiveInput = true; Origin = Anchor.Centre; Position = s.Position; RelativeSizeAxes = Axes.Both; // we are slightly bigger than our parent, to clip the top and bottom of the circle Height = 1.3f; spinner = s; Children = new Drawable[] { circleContainer = new Container { AutoSizeAxes = Axes.Both, Anchor = Anchor.Centre, Origin = Anchor.Centre, Children = new Drawable[] { glow = new GlowPiece(), circle = new CirclePiece { Position = Vector2.Zero, Anchor = Anchor.Centre, }, new RingPiece(), symbol = new TextAwesome { Anchor = Anchor.Centre, Origin = Anchor.Centre, UseFullGlyphHeight = true, TextSize = 48, Icon = FontAwesome.fa_asterisk, Shadow = false, }, } }, mainContainer = new AspectContainer { Anchor = Anchor.Centre, Origin = Anchor.Centre, RelativeSizeAxes = Axes.Y, Children = new Drawable[] { background = new SpinnerBackground { Alpha = 0.6f, Anchor = Anchor.Centre, Origin = Anchor.Centre, }, disc = new SpinnerDisc(spinner) { Scale = Vector2.Zero, Anchor = Anchor.Centre, Origin = Anchor.Centre, }, circleContainer.CreateProxy(), ticks = new SpinnerTicks { Anchor = Anchor.Centre, Origin = Anchor.Centre, }, } }, }; }
public DrawableSpinner(Spinner s) : base(s) { Origin = Anchor.Centre; Position = s.Position; RelativeSizeAxes = Axes.Both; // we are slightly bigger than our parent, to clip the top and bottom of the circle Height = 1.3f; Spinner = s; InternalChildren = new Drawable[] { circleContainer = new Container { AutoSizeAxes = Axes.Both, Anchor = Anchor.Centre, Origin = Anchor.Centre, Children = new Drawable[] { glow = new GlowPiece(), circle = new CirclePiece { Position = Vector2.Zero, Anchor = Anchor.Centre, }, new RingPiece(), symbol = new SpriteIcon { Anchor = Anchor.Centre, Origin = Anchor.Centre, Size = new Vector2(48), Icon = FontAwesome.Solid.Asterisk, Shadow = false, }, } }, mainContainer = new AspectContainer { Anchor = Anchor.Centre, Origin = Anchor.Centre, RelativeSizeAxes = Axes.Y, Children = new[] { Background = new SpinnerBackground { Alpha = 0.6f, Anchor = Anchor.Centre, Origin = Anchor.Centre, }, Disc = new SpinnerDisc(Spinner) { Scale = Vector2.Zero, Anchor = Anchor.Centre, Origin = Anchor.Centre, }, circleContainer.CreateProxy(), Ticks = new SpinnerTicks { Anchor = Anchor.Centre, Origin = Anchor.Centre, }, } }, SpmCounter = new SpinnerSpmCounter { Anchor = Anchor.Centre, Origin = Anchor.Centre, Y = 120, Alpha = 0 } }; }
protected BaseCircle(CirclePiece piece) { Piece = piece; Add(Piece); }
public DrumRollCircle(CirclePiece piece) : base(piece) { }