private void onNewResult(DrawableHitObject judgedObject, JudgementResult result) { if (!judgedObject.DisplayResult || !DisplayJudgements.Value) { return; } var tauObj = (DrawabletauHitObject)judgedObject; var b = tauObj.HitObject.PositionToEnd.GetDegreesFromPosition(tauObj.Box.AnchorPosition) * 4; var a = b *= (float)(Math.PI / 180); DrawableTauJudgement explosion = new DrawableTauJudgement(result, tauObj) { Origin = Anchor.Centre, Anchor = Anchor.Centre, Position = new Vector2(-(285 * (float)Math.Cos(a)), -(285 * (float)Math.Sin(a))), Rotation = tauObj.Box.Rotation + 90, }; judgementLayer.Add(explosion); if (judgedObject.HitObject.Kiai && result.Type != HitResult.Miss) { kiaiExplosionContainer.Add(new KiaiHitExplosion(judgedObject) { Position = new Vector2(-(215 * (float)Math.Cos(a)), -(215 * (float)Math.Sin(a))), Rotation = tauObj.Box.Rotation, Anchor = Anchor.Centre, Origin = Anchor.Centre }); } }
private void onNewResult(DrawableHitObject judgedObject, JudgementResult result) { if (!judgedObject.DisplayResult || !DisplayJudgements.Value) { return; } DrawableTauJudgement explosion = new DrawableTauJudgement(result, judgedObject) { Origin = Anchor.Centre, Anchor = Anchor.Centre, }; switch (judgedObject) { case DrawableBeat beat: var angle = beat.HitObject.Angle; explosion.Position = Extensions.GetCircularPosition(.6f, angle); explosion.Rotation = angle; if (judgedObject.HitObject.Kiai && result.Type != HitResult.Miss) { kiaiExplosionContainer.Add(new KiaiHitExplosion(judgedObject.AccentColour.Value) { Position = Extensions.GetCircularPosition(.5f, angle), Angle = angle, Anchor = Anchor.Centre, Origin = Anchor.Centre }); } break; case DrawableHardBeat _: explosion.Position = Extensions.GetCircularPosition(.6f, 0); if (judgedObject.HitObject.Kiai && result.Type != HitResult.Miss) { kiaiExplosionContainer.Add(new KiaiHitExplosion(judgedObject.AccentColour.Value, true) { Anchor = Anchor.Centre, Origin = Anchor.Centre }); } break; } judgementLayer.Add(explosion); }
private void onJudgmentLoaded(DrawableTauJudgement judgement) { judgementLayer.Add(judgement.ProxiedAboveHitObjectsContent); }