Skip to content

Commit

Permalink
Merge pull request #544 from LumpBloom7/proxy-slide-body-stars
Browse files Browse the repository at this point in the history
Proxy all slidebody stars above slide body
  • Loading branch information
LumpBloom7 committed Jan 30, 2024
2 parents 6656fb2 + 6fc22f6 commit 4f78e77
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@ namespace osu.Game.Rulesets.Sentakki.Objects.Drawables
{
public partial class DrawableSlideBody : DrawableSentakkiLanedHitObject
{
public override bool RemoveWhenNotAlive => false;

private new DrawableSlide ParentHitObject => (DrawableSlide)base.ParentHitObject;
public new SlideBody HitObject => (SlideBody)base.HitObject;

Expand Down Expand Up @@ -78,7 +76,7 @@ private void load()
AddRangeInternal(new Drawable[]
{
Slidepath = new SlideVisual() { Colour = inactive_color },
SlideStars = new Container<StarPiece>
SlideStars = new ProxyableContainer<StarPiece>
{
Anchor = Anchor.Centre,
Origin = Anchor.Centre,
Expand Down Expand Up @@ -288,5 +286,10 @@ protected override void ClearNestedHitObjects()
base.ClearNestedHitObjects();
SlideCheckpoints.Clear(false);
}

private partial class ProxyableContainer<T> : Container<T> where T : Drawable
{
public override bool RemoveWhenNotAlive => false;
}
}
}
5 changes: 4 additions & 1 deletion osu.Game.Rulesets.Sentakki/UI/LanedPlayfield.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ public partial class LanedPlayfield : Playfield
public readonly List<Lane> Lanes = new List<Lane>();

private readonly SortedDrawableProxyContainer slideBodyProxyContainer;
private readonly SortedDrawableProxyContainer slideStarProxyContainer;
private readonly SortedDrawableProxyContainer lanedNoteProxyContainer;

public readonly LineRenderer HitObjectLineRenderer;
Expand Down Expand Up @@ -49,6 +50,7 @@ public LanedPlayfield()
chevronPool = new DrawablePool<SlideChevron>(100),
HitObjectLineRenderer = new LineRenderer(),
slideBodyProxyContainer = new SortedDrawableProxyContainer(),
slideStarProxyContainer = new SortedDrawableProxyContainer(),
LanedHitObjectArea = new Container
{
RelativeSizeAxes = Axes.Both,
Expand Down Expand Up @@ -87,7 +89,8 @@ private void onHitObjectLoaded(Drawable hitObject)
switch (hitObject)
{
case DrawableSlideBody s:
slideBodyProxyContainer.Add(s.CreateProxy(), s);
slideBodyProxyContainer.Add(s.Slidepath.CreateProxy(), s);
slideStarProxyContainer.Add(s.SlideStars.CreateProxy(), s);
break;

case DrawableTap t:
Expand Down

0 comments on commit 4f78e77

Please sign in to comment.