private void attemptCatch(Fruit fruit) { fruit.X += catcher.X; fruit.ApplyDefaults(new ControlPointInfo(), new BeatmapDifficulty { CircleSize = circleSize }); foreach (var area in this.ChildrenOfType <CatcherArea>()) { DrawableFruit drawable = new DrawableFruit(fruit); area.Add(drawable); Schedule(() => { bool caught = area.AttemptCatch(fruit); area.OnNewResult(drawable, new JudgementResult(fruit, new CatchJudgement()) { Type = caught ? HitResult.Great : HitResult.Miss }); drawable.Expire(); }); } }
private void catchFruit(Fruit fruit, float x) { fruit.ApplyDefaults(new ControlPointInfo(), new BeatmapDifficulty()); var drawableFruit = new DrawableFruit(fruit) { X = x }; var judgement = fruit.CreateJudgement(); catcher.OnNewResult(drawableFruit, new CatchJudgementResult(fruit, judgement) { Type = judgement.MaxResult }); }
public TestSceneFruitRandomness() { drawableFruit = new DrawableFruit(new Fruit()); drawableBanana = new DrawableBanana(new Banana()); Add(new TestDrawableCatchHitObjectSpecimen(drawableFruit) { X = -200 }); Add(new TestDrawableCatchHitObjectSpecimen(drawableBanana)); AddSliderStep("start time", 500, 600, 0, x => { drawableFruit.HitObject.StartTime = drawableBanana.HitObject.StartTime = x; }); }
private void catchFruit(Fruit fruit, bool miss = false) { this.ChildrenOfType <CatcherArea>().ForEach(area => { DrawableFruit drawable = new DrawableFruit(fruit); area.Add(drawable); Schedule(() => { area.AttemptCatch(fruit); area.OnResult(drawable, new JudgementResult(fruit, new CatchJudgement()) { Type = miss ? HitResult.Miss : HitResult.Great }); drawable.Expire(); }); }); }
private void performJudgement(HitResult type, Judgement judgement = null) { var judgedObject = new DrawableFruit(new Fruit()) { AccentColour = { Value = judgedObjectColour } }; var result = new JudgementResult(judgedObject.HitObject, judgement ?? new Judgement()) { Type = type }; scoreProcessor.ApplyResult(result); foreach (var counter in CreatedDrawables.Cast <CatchComboDisplay>()) { counter.OnNewResult(judgedObject, result); } }
private void attemptCatch(Fruit fruit) { fruit.X = fruit.OriginalX + catcher.X; fruit.ApplyDefaults(new ControlPointInfo(), beatmapDifficulty); foreach (var area in this.ChildrenOfType <CatcherArea>()) { DrawableFruit drawable = new DrawableFruit(fruit); area.Add(drawable); Schedule(() => { area.OnNewResult(drawable, new CatchJudgementResult(fruit, new CatchJudgement()) { Type = area.MovableCatcher.CanCatch(fruit) ? HitResult.Great : HitResult.Miss }); drawable.Expire(); }); } }
private void checkHyperDashFruitColour(ISkin skin, Color4 expectedColour) { DrawableFruit drawableFruit = null; AddStep("create hyper-dash fruit", () => { var fruit = new Fruit { HyperDashTarget = new Banana() }; fruit.ApplyDefaults(new ControlPointInfo(), new BeatmapDifficulty()); Child = setupSkinHierarchy(drawableFruit = new DrawableFruit(fruit) { Anchor = Anchor.Centre, Origin = Anchor.Centre, Scale = new Vector2(4f), }, skin); }); AddAssert("hyper-dash colour is correct", () => checkLegacyFruitHyperDashColour(drawableFruit, expectedColour)); }
private bool checkLegacyFruitHyperDashColour(DrawableFruit fruit, Color4 expectedColour) => fruit.ChildrenOfType <SkinnableDrawable>().First().Drawable.ChildrenOfType <Sprite>().Any(c => c.Colour == expectedColour);