mirror of
https://github.com/osukey/osukey.git
synced 2025-08-01 21:58:46 +09:00
Fix deleting skin elements not saving out to skin
Closes https://github.com/ppy/osu/issues/12786.
This commit is contained in:
@ -2,6 +2,7 @@
|
||||
// See the LICENCE file in the repository root for full licence text.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using osu.Framework.Allocation;
|
||||
using osu.Framework.Bindables;
|
||||
@ -193,14 +194,16 @@ namespace osu.Game.Skinning.Editor
|
||||
SelectedComponents.Add(component);
|
||||
}
|
||||
|
||||
private IEnumerable<ISkinnableTarget> availableTargets => targetScreen.ChildrenOfType<ISkinnableTarget>();
|
||||
|
||||
private ISkinnableTarget getTarget(SkinnableTarget target)
|
||||
{
|
||||
return targetScreen.ChildrenOfType<ISkinnableTarget>().FirstOrDefault(c => c.Target == target);
|
||||
return availableTargets.FirstOrDefault(c => c.Target == target);
|
||||
}
|
||||
|
||||
private void revert()
|
||||
{
|
||||
SkinnableTargetContainer[] targetContainers = targetScreen.ChildrenOfType<SkinnableTargetContainer>().ToArray();
|
||||
ISkinnableTarget[] targetContainers = availableTargets.ToArray();
|
||||
|
||||
foreach (var t in targetContainers)
|
||||
{
|
||||
@ -216,7 +219,7 @@ namespace osu.Game.Skinning.Editor
|
||||
if (!hasBegunMutating)
|
||||
return;
|
||||
|
||||
SkinnableTargetContainer[] targetContainers = targetScreen.ChildrenOfType<SkinnableTargetContainer>().ToArray();
|
||||
ISkinnableTarget[] targetContainers = availableTargets.ToArray();
|
||||
|
||||
foreach (var t in targetContainers)
|
||||
currentSkin.Value.UpdateDrawableTarget(t);
|
||||
@ -237,5 +240,11 @@ namespace osu.Game.Skinning.Editor
|
||||
{
|
||||
this.FadeOut(TRANSITION_DURATION, Easing.OutQuint);
|
||||
}
|
||||
|
||||
public void DeleteItems(ISkinnableDrawable[] items)
|
||||
{
|
||||
foreach (var item in items.ToArray())
|
||||
availableTargets.FirstOrDefault(t => t.Components.Contains(item))?.Remove(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user