mirror of
https://github.com/ppy/osu.git
synced 2025-03-28 20:47:22 +08:00
Fix SkinnableTestScene's autosize propagation
Regressed with recent DrawableHitObject changes (moving of RelativeSizeAxes specifications out of constructors).
This commit is contained in:
parent
c26fd4dc3d
commit
2d0c62dce2
@ -65,17 +65,15 @@ namespace osu.Game.Tests.Visual
|
|||||||
private Drawable createProvider(Skin skin, Func<Drawable> creationFunction, IBeatmap beatmap)
|
private Drawable createProvider(Skin skin, Func<Drawable> creationFunction, IBeatmap beatmap)
|
||||||
{
|
{
|
||||||
var created = creationFunction();
|
var created = creationFunction();
|
||||||
|
|
||||||
createdDrawables.Add(created);
|
createdDrawables.Add(created);
|
||||||
|
|
||||||
var autoSize = created.RelativeSizeAxes == Axes.None;
|
SkinProvidingContainer mainProvider;
|
||||||
|
Container childContainer;
|
||||||
|
OutlineBox outlineBox;
|
||||||
|
SkinProvidingContainer skinProvider;
|
||||||
|
|
||||||
var mainProvider = new SkinProvidingContainer(skin)
|
var children = new Container
|
||||||
{
|
|
||||||
RelativeSizeAxes = !autoSize ? Axes.Both : Axes.None,
|
|
||||||
AutoSizeAxes = autoSize ? Axes.Both : Axes.None,
|
|
||||||
};
|
|
||||||
|
|
||||||
return new Container
|
|
||||||
{
|
{
|
||||||
RelativeSizeAxes = Axes.Both,
|
RelativeSizeAxes = Axes.Both,
|
||||||
BorderColour = Color4.White,
|
BorderColour = Color4.White,
|
||||||
@ -96,27 +94,38 @@ namespace osu.Game.Tests.Visual
|
|||||||
Scale = new Vector2(1.5f),
|
Scale = new Vector2(1.5f),
|
||||||
Padding = new MarginPadding(5),
|
Padding = new MarginPadding(5),
|
||||||
},
|
},
|
||||||
new Container
|
childContainer = new Container
|
||||||
{
|
{
|
||||||
RelativeSizeAxes = !autoSize ? Axes.Both : Axes.None,
|
|
||||||
AutoSizeAxes = autoSize ? Axes.Both : Axes.None,
|
|
||||||
Anchor = Anchor.Centre,
|
Anchor = Anchor.Centre,
|
||||||
Origin = Anchor.Centre,
|
Origin = Anchor.Centre,
|
||||||
Children = new Drawable[]
|
Children = new Drawable[]
|
||||||
{
|
{
|
||||||
new OutlineBox { Alpha = autoSize ? 1 : 0 },
|
outlineBox = new OutlineBox(),
|
||||||
mainProvider.WithChild(
|
(mainProvider = new SkinProvidingContainer(skin)).WithChild(
|
||||||
new SkinProvidingContainer(Ruleset.Value.CreateInstance().CreateLegacySkinProvider(mainProvider, beatmap))
|
skinProvider = new SkinProvidingContainer(Ruleset.Value.CreateInstance().CreateLegacySkinProvider(mainProvider, beatmap))
|
||||||
{
|
{
|
||||||
Child = created,
|
Child = created,
|
||||||
RelativeSizeAxes = !autoSize ? Axes.Both : Axes.None,
|
|
||||||
AutoSizeAxes = autoSize ? Axes.Both : Axes.None,
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Schedule(() =>
|
||||||
|
{
|
||||||
|
var autoSize = created.RelativeSizeAxes == Axes.None;
|
||||||
|
|
||||||
|
foreach (var c in new[] { mainProvider, childContainer, skinProvider })
|
||||||
|
{
|
||||||
|
c.RelativeSizeAxes = !autoSize ? Axes.Both : Axes.None;
|
||||||
|
c.AutoSizeAxes = autoSize ? Axes.Both : Axes.None;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlineBox.Alpha = autoSize ? 1 : 0;
|
||||||
|
});
|
||||||
|
|
||||||
|
return children;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user