mirror of
https://github.com/ppy/osu.git
synced 2025-03-28 20:47:22 +08:00
Component
-> Lookup
This commit is contained in:
parent
46d55d5e61
commit
48cfd77ee8
@ -40,7 +40,7 @@ namespace osu.Game.Rulesets.Catch.Skinning.Legacy
|
|||||||
return null;
|
return null;
|
||||||
|
|
||||||
// Our own ruleset components default.
|
// Our own ruleset components default.
|
||||||
switch (containerLookup.Component)
|
switch (containerLookup.Lookup)
|
||||||
{
|
{
|
||||||
case GlobalSkinnableContainers.MainHUDComponents:
|
case GlobalSkinnableContainers.MainHUDComponents:
|
||||||
// todo: remove CatchSkinComponents.CatchComboCounter and refactor LegacyCatchComboCounter to be added here instead.
|
// todo: remove CatchSkinComponents.CatchComboCounter and refactor LegacyCatchComboCounter to be added here instead.
|
||||||
|
@ -33,7 +33,7 @@ namespace osu.Game.Rulesets.Mania.Skinning.Argon
|
|||||||
if (containerLookup.Ruleset == null)
|
if (containerLookup.Ruleset == null)
|
||||||
return base.GetDrawableComponent(lookup);
|
return base.GetDrawableComponent(lookup);
|
||||||
|
|
||||||
switch (containerLookup.Component)
|
switch (containerLookup.Lookup)
|
||||||
{
|
{
|
||||||
case GlobalSkinnableContainers.MainHUDComponents:
|
case GlobalSkinnableContainers.MainHUDComponents:
|
||||||
return new DefaultSkinComponentsContainer(container =>
|
return new DefaultSkinComponentsContainer(container =>
|
||||||
|
@ -89,7 +89,7 @@ namespace osu.Game.Rulesets.Mania.Skinning.Legacy
|
|||||||
if (!IsProvidingLegacyResources)
|
if (!IsProvidingLegacyResources)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
switch (containerLookup.Component)
|
switch (containerLookup.Lookup)
|
||||||
{
|
{
|
||||||
case GlobalSkinnableContainers.MainHUDComponents:
|
case GlobalSkinnableContainers.MainHUDComponents:
|
||||||
return new DefaultSkinComponentsContainer(container =>
|
return new DefaultSkinComponentsContainer(container =>
|
||||||
|
@ -54,7 +54,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy
|
|||||||
return null;
|
return null;
|
||||||
|
|
||||||
// Our own ruleset components default.
|
// Our own ruleset components default.
|
||||||
switch (containerLookup.Component)
|
switch (containerLookup.Lookup)
|
||||||
{
|
{
|
||||||
case GlobalSkinnableContainers.MainHUDComponents:
|
case GlobalSkinnableContainers.MainHUDComponents:
|
||||||
return new DefaultSkinComponentsContainer(container =>
|
return new DefaultSkinComponentsContainer(container =>
|
||||||
|
@ -55,7 +55,7 @@ namespace osu.Game.Tests.Visual.Gameplay
|
|||||||
|
|
||||||
protected bool AssertComponentsFromExpectedSource(GlobalSkinnableContainers target, ISkin expectedSource)
|
protected bool AssertComponentsFromExpectedSource(GlobalSkinnableContainers target, ISkin expectedSource)
|
||||||
{
|
{
|
||||||
var targetContainer = Player.ChildrenOfType<SkinnableContainer>().First(s => s.Lookup.Component == target);
|
var targetContainer = Player.ChildrenOfType<SkinnableContainer>().First(s => s.Lookup.Lookup == target);
|
||||||
var actualComponentsContainer = targetContainer.ChildrenOfType<Container>().SingleOrDefault(c => c.Parent == targetContainer);
|
var actualComponentsContainer = targetContainer.ChildrenOfType<Container>().SingleOrDefault(c => c.Parent == targetContainer);
|
||||||
|
|
||||||
if (actualComponentsContainer == null)
|
if (actualComponentsContainer == null)
|
||||||
|
@ -378,10 +378,10 @@ namespace osu.Game.Tests.Visual.Gameplay
|
|||||||
}
|
}
|
||||||
|
|
||||||
private SkinnableContainer globalHUDTarget => Player.ChildrenOfType<SkinnableContainer>()
|
private SkinnableContainer globalHUDTarget => Player.ChildrenOfType<SkinnableContainer>()
|
||||||
.Single(c => c.Lookup.Component == GlobalSkinnableContainers.MainHUDComponents && c.Lookup.Ruleset == null);
|
.Single(c => c.Lookup.Lookup == GlobalSkinnableContainers.MainHUDComponents && c.Lookup.Ruleset == null);
|
||||||
|
|
||||||
private SkinnableContainer rulesetHUDTarget => Player.ChildrenOfType<SkinnableContainer>()
|
private SkinnableContainer rulesetHUDTarget => Player.ChildrenOfType<SkinnableContainer>()
|
||||||
.Single(c => c.Lookup.Component == GlobalSkinnableContainers.MainHUDComponents && c.Lookup.Ruleset != null);
|
.Single(c => c.Lookup.Lookup == GlobalSkinnableContainers.MainHUDComponents && c.Lookup.Ruleset != null);
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void TestMigrationArgon()
|
public void TestMigrationArgon()
|
||||||
|
@ -97,7 +97,7 @@ namespace osu.Game.Skinning
|
|||||||
switch (lookup)
|
switch (lookup)
|
||||||
{
|
{
|
||||||
case GlobalSkinnableContainerLookup containerLookup:
|
case GlobalSkinnableContainerLookup containerLookup:
|
||||||
switch (containerLookup.Component)
|
switch (containerLookup.Lookup)
|
||||||
{
|
{
|
||||||
case GlobalSkinnableContainers.SongSelect:
|
case GlobalSkinnableContainers.SongSelect:
|
||||||
var songSelectComponents = new DefaultSkinComponentsContainer(_ =>
|
var songSelectComponents = new DefaultSkinComponentsContainer(_ =>
|
||||||
|
@ -15,7 +15,7 @@ namespace osu.Game.Skinning
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// The target area / layer of the game for which skin components will be returned.
|
/// The target area / layer of the game for which skin components will be returned.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public readonly GlobalSkinnableContainers Component;
|
public readonly GlobalSkinnableContainers Lookup;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The ruleset for which skin components should be returned.
|
/// The ruleset for which skin components should be returned.
|
||||||
@ -23,17 +23,17 @@ namespace osu.Game.Skinning
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public readonly RulesetInfo? Ruleset;
|
public readonly RulesetInfo? Ruleset;
|
||||||
|
|
||||||
public GlobalSkinnableContainerLookup(GlobalSkinnableContainers component, RulesetInfo? ruleset = null)
|
public GlobalSkinnableContainerLookup(GlobalSkinnableContainers lookup, RulesetInfo? ruleset = null)
|
||||||
{
|
{
|
||||||
Component = component;
|
Lookup = lookup;
|
||||||
Ruleset = ruleset;
|
Ruleset = ruleset;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string ToString()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
if (Ruleset == null) return Component.GetDescription();
|
if (Ruleset == null) return Lookup.GetDescription();
|
||||||
|
|
||||||
return $"{Component.GetDescription()} (\"{Ruleset.Name}\" only)";
|
return $"{Lookup.GetDescription()} (\"{Ruleset.Name}\" only)";
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool Equals(GlobalSkinnableContainerLookup? other)
|
public bool Equals(GlobalSkinnableContainerLookup? other)
|
||||||
@ -41,7 +41,7 @@ namespace osu.Game.Skinning
|
|||||||
if (ReferenceEquals(null, other)) return false;
|
if (ReferenceEquals(null, other)) return false;
|
||||||
if (ReferenceEquals(this, other)) return true;
|
if (ReferenceEquals(this, other)) return true;
|
||||||
|
|
||||||
return Component == other.Component && (ReferenceEquals(Ruleset, other.Ruleset) || Ruleset?.Equals(other.Ruleset) == true);
|
return Lookup == other.Lookup && (ReferenceEquals(Ruleset, other.Ruleset) || Ruleset?.Equals(other.Ruleset) == true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override bool Equals(object? obj)
|
public override bool Equals(object? obj)
|
||||||
@ -55,7 +55,7 @@ namespace osu.Game.Skinning
|
|||||||
|
|
||||||
public override int GetHashCode()
|
public override int GetHashCode()
|
||||||
{
|
{
|
||||||
return HashCode.Combine((int)Component, Ruleset);
|
return HashCode.Combine((int)Lookup, Ruleset);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -52,7 +52,7 @@ namespace osu.Game.Skinning
|
|||||||
{
|
{
|
||||||
if (lookup is GlobalSkinnableContainerLookup containerLookup)
|
if (lookup is GlobalSkinnableContainerLookup containerLookup)
|
||||||
{
|
{
|
||||||
switch (containerLookup.Component)
|
switch (containerLookup.Lookup)
|
||||||
{
|
{
|
||||||
case GlobalSkinnableContainers.MainHUDComponents:
|
case GlobalSkinnableContainers.MainHUDComponents:
|
||||||
// this should exist in LegacySkin instead, but there isn't a fallback skin for LegacySkins yet.
|
// this should exist in LegacySkin instead, but there isn't a fallback skin for LegacySkins yet.
|
||||||
|
@ -359,7 +359,7 @@ namespace osu.Game.Skinning
|
|||||||
switch (lookup)
|
switch (lookup)
|
||||||
{
|
{
|
||||||
case GlobalSkinnableContainerLookup containerLookup:
|
case GlobalSkinnableContainerLookup containerLookup:
|
||||||
switch (containerLookup.Component)
|
switch (containerLookup.Lookup)
|
||||||
{
|
{
|
||||||
case GlobalSkinnableContainers.MainHUDComponents:
|
case GlobalSkinnableContainers.MainHUDComponents:
|
||||||
if (containerLookup.Ruleset != null)
|
if (containerLookup.Ruleset != null)
|
||||||
|
@ -165,7 +165,7 @@ namespace osu.Game.Skinning
|
|||||||
/// <param name="targetContainer">The target container to reset.</param>
|
/// <param name="targetContainer">The target container to reset.</param>
|
||||||
public void ResetDrawableTarget(SkinnableContainer targetContainer)
|
public void ResetDrawableTarget(SkinnableContainer targetContainer)
|
||||||
{
|
{
|
||||||
LayoutInfos.Remove(targetContainer.Lookup.Component);
|
LayoutInfos.Remove(targetContainer.Lookup.Lookup);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -174,8 +174,8 @@ namespace osu.Game.Skinning
|
|||||||
/// <param name="targetContainer">The target container to serialise to this skin.</param>
|
/// <param name="targetContainer">The target container to serialise to this skin.</param>
|
||||||
public void UpdateDrawableTarget(SkinnableContainer targetContainer)
|
public void UpdateDrawableTarget(SkinnableContainer targetContainer)
|
||||||
{
|
{
|
||||||
if (!LayoutInfos.TryGetValue(targetContainer.Lookup.Component, out var layoutInfo))
|
if (!LayoutInfos.TryGetValue(targetContainer.Lookup.Lookup, out var layoutInfo))
|
||||||
layoutInfos[targetContainer.Lookup.Component] = layoutInfo = new SkinLayoutInfo();
|
layoutInfos[targetContainer.Lookup.Lookup] = layoutInfo = new SkinLayoutInfo();
|
||||||
|
|
||||||
layoutInfo.Update(targetContainer.Lookup.Ruleset, ((ISerialisableDrawableContainer)targetContainer).CreateSerialisedInfo().ToArray());
|
layoutInfo.Update(targetContainer.Lookup.Ruleset, ((ISerialisableDrawableContainer)targetContainer).CreateSerialisedInfo().ToArray());
|
||||||
}
|
}
|
||||||
@ -194,7 +194,7 @@ namespace osu.Game.Skinning
|
|||||||
case GlobalSkinnableContainerLookup containerLookup:
|
case GlobalSkinnableContainerLookup containerLookup:
|
||||||
// It is important to return null if the user has not configured this yet.
|
// It is important to return null if the user has not configured this yet.
|
||||||
// This allows skin transformers the opportunity to provide default components.
|
// This allows skin transformers the opportunity to provide default components.
|
||||||
if (!LayoutInfos.TryGetValue(containerLookup.Component, out var layoutInfo)) return null;
|
if (!LayoutInfos.TryGetValue(containerLookup.Lookup, out var layoutInfo)) return null;
|
||||||
if (!layoutInfo.TryGetDrawableInfo(containerLookup.Ruleset, out var drawableInfos)) return null;
|
if (!layoutInfo.TryGetDrawableInfo(containerLookup.Ruleset, out var drawableInfos)) return null;
|
||||||
|
|
||||||
return new Container
|
return new Container
|
||||||
|
@ -71,7 +71,7 @@ namespace osu.Game.Skinning
|
|||||||
if (containerLookup.Ruleset != null)
|
if (containerLookup.Ruleset != null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
switch (containerLookup.Component)
|
switch (containerLookup.Lookup)
|
||||||
{
|
{
|
||||||
case GlobalSkinnableContainers.SongSelect:
|
case GlobalSkinnableContainers.SongSelect:
|
||||||
var songSelectComponents = new DefaultSkinComponentsContainer(_ =>
|
var songSelectComponents = new DefaultSkinComponentsContainer(_ =>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user