public OsuPlayfield() { InternalChildren = new Drawable[] { connectionLayer = new FollowPointRenderer { RelativeSizeAxes = Axes.Both, Depth = 2, }, judgementLayer = new JudgementContainer <DrawableOsuJudgement> { RelativeSizeAxes = Axes.Both, Depth = 1, }, // Todo: This should not exist, but currently helps to reduce LOH allocations due to unbinding skin source events on judgement disposal // Todo: Remove when hitobjects are properly pooled new LocalSkinOverrideContainer(null) { RelativeSizeAxes = Axes.Both, Child = HitObjectContainer, }, approachCircles = new ApproachCircleProxyContainer { RelativeSizeAxes = Axes.Both, Depth = -1, }, }; }
public OsuPlayfield() { Anchor = Anchor.Centre; Origin = Anchor.Centre; Size = new Vector2(0.75f); InternalChild = new PlayfieldAdjustmentContainer { RelativeSizeAxes = Axes.Both, Children = new Drawable[] { connectionLayer = new FollowPointRenderer { RelativeSizeAxes = Axes.Both, Depth = 2, }, judgementLayer = new JudgementContainer <DrawableOsuJudgement> { RelativeSizeAxes = Axes.Both, Depth = 1, }, HitObjectContainer, approachCircles = new ApproachCircleProxyContainer { RelativeSizeAxes = Axes.Both, Depth = -1, }, } }; }
public OsuPlayfield() { InternalChildren = new Drawable[] { connectionLayer = new FollowPointRenderer { RelativeSizeAxes = Axes.Both, Depth = 2, }, judgementLayer = new JudgementContainer <DrawableOsuJudgement> { RelativeSizeAxes = Axes.Both, Depth = 1, }, HitObjectContainer, approachCircles = new ApproachCircleProxyContainer { RelativeSizeAxes = Axes.Both, Depth = -1, }, }; }
public OsuPlayfield() { InternalChildren = new Drawable[] { followPoints = new FollowPointRenderer { RelativeSizeAxes = Axes.Both, Depth = 2, }, judgementLayer = new JudgementContainer <DrawableOsuJudgement> { RelativeSizeAxes = Axes.Both, Depth = 1, }, // Todo: This should not exist, but currently helps to reduce LOH allocations due to unbinding skin source events on judgement disposal // Todo: Remove when hitobjects are properly pooled new SkinProvidingContainer(null) { Child = HitObjectContainer, }, approachCircles = new ApproachCircleProxyContainer { RelativeSizeAxes = Axes.Both, Depth = -1, }, }; hitPolicy = new OrderedHitPolicy(HitObjectContainer); var hitWindows = new OsuHitWindows(); foreach (var result in Enum.GetValues(typeof(HitResult)).OfType <HitResult>().Where(r => r > HitResult.None && hitWindows.IsHitResultAllowed(r))) { poolDictionary.Add(result, new DrawableJudgementPool(result)); } AddRangeInternal(poolDictionary.Values); }