mirror of
https://github.com/Ottermandias/Glamourer.git
synced 2025-12-12 18:27:24 +01:00
tmp
This commit is contained in:
parent
7a33daf954
commit
7dfc20ce23
5 changed files with 29 additions and 23 deletions
|
|
@ -92,13 +92,15 @@ public class DesignBase
|
|||
internal MetaFlag ApplyMeta = MetaFlag.HatState | MetaFlag.VisorState | MetaFlag.WeaponState;
|
||||
private bool _writeProtected;
|
||||
|
||||
public bool SetCustomize(CustomizeService customizeService, CustomizeArray customize)
|
||||
public bool SetCustomize(CustomizeService customizeService, CustomizeArray customize, CustomizeSet? set = null)
|
||||
{
|
||||
if (customize.Equals(_designData.Customize))
|
||||
return false;
|
||||
|
||||
_designData.Customize = customize;
|
||||
CustomizeSet = customizeService.Manager.GetSet(customize.Clan, customize.Gender);
|
||||
set ??= customizeService.Manager.GetSet(customize.Clan, customize.Gender);
|
||||
Debug.Assert(set.Clan == customize.Clan && set.Gender == customize.Gender, "Invalid CustomizeSet provided.");
|
||||
_designData.Customize = customize;
|
||||
CustomizeSet = set;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -124,7 +124,8 @@ public class DesignConverter(
|
|||
}
|
||||
|
||||
ret.SetApplyMeta(MetaIndex.Wetness, customize);
|
||||
ret.ApplyCustomize = customize ? CustomizeFlagExtensions.AllRelevant : 0;
|
||||
if (!customize)
|
||||
ret.ApplyCustomize = 0;
|
||||
|
||||
if (!equip)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -227,7 +227,7 @@ public class DesignMerger(
|
|||
ret.Sources[CustomizeIndex.Face] = source;
|
||||
}
|
||||
|
||||
var set = _customize.Manager.GetSet(customize.Clan, customize.Gender);
|
||||
var set = _customize.Manager.GetSet(ret.Design.DesignData.Customize.Clan, ret.Design.DesignData.Customize.Gender);
|
||||
var face = customize.Face;
|
||||
foreach (var index in Enum.GetValues<CustomizeIndex>())
|
||||
{
|
||||
|
|
@ -248,7 +248,7 @@ public class DesignMerger(
|
|||
fixFlags &= ~flag;
|
||||
}
|
||||
|
||||
ret.Design.SetCustomize(_customize, customize);
|
||||
ret.Design.SetCustomize(_customize, customize, set);
|
||||
}
|
||||
|
||||
private static void ApplyFixFlags(MergedDesign ret, CustomizeFlag fixFlags)
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ public abstract class DesignComboBase : FilterComboCache<Tuple<Design, string>>,
|
|||
|
||||
protected DesignComboBase(Func<IReadOnlyList<Tuple<Design, string>>> generator, Logger log, DesignChanged designChanged,
|
||||
TabSelected tabSelected, EphemeralConfig config, DesignColors designColors)
|
||||
: base(generator, MouseWheelType.Unmodified, log)
|
||||
: base(generator, MouseWheelType.Control, log)
|
||||
{
|
||||
_designChanged = designChanged;
|
||||
TabSelected = tabSelected;
|
||||
|
|
@ -169,21 +169,24 @@ public abstract class DesignCombo : DesignComboBase
|
|||
=> Draw(Design, (Incognito ? Design?.Incognito : Design?.Name.Text) ?? string.Empty, width);
|
||||
}
|
||||
|
||||
public sealed class QuickDesignCombo(
|
||||
DesignManager designs,
|
||||
DesignFileSystem fileSystem,
|
||||
Logger log,
|
||||
DesignChanged designChanged,
|
||||
TabSelected tabSelected,
|
||||
EphemeralConfig config,
|
||||
DesignColors designColors)
|
||||
: DesignCombo(log, designChanged, tabSelected, config, designColors, () =>
|
||||
[
|
||||
.. designs.Designs
|
||||
.Where(d => d.QuickDesign)
|
||||
.Select(d => new Tuple<Design, string>(d, fileSystem.FindLeaf(d, out var l) ? l.FullName() : string.Empty))
|
||||
.OrderBy(d => d.Item2),
|
||||
]);
|
||||
public sealed class QuickDesignCombo : DesignCombo
|
||||
{
|
||||
public QuickDesignCombo(DesignManager designs,
|
||||
DesignFileSystem fileSystem,
|
||||
Logger log,
|
||||
DesignChanged designChanged,
|
||||
TabSelected tabSelected,
|
||||
EphemeralConfig config,
|
||||
DesignColors designColors)
|
||||
: base(log, designChanged, tabSelected, config, designColors, () =>
|
||||
[
|
||||
.. designs.Designs
|
||||
.Where(d => d.QuickDesign)
|
||||
.Select(d => new Tuple<Design, string>(d, fileSystem.FindLeaf(d, out var l) ? l.FullName() : string.Empty))
|
||||
.OrderBy(d => d.Item2),
|
||||
])
|
||||
=> AllowMouseWheel = MouseWheelType.Unmodified;
|
||||
}
|
||||
|
||||
public sealed class LinkDesignCombo(
|
||||
DesignManager designs,
|
||||
|
|
|
|||
|
|
@ -277,7 +277,7 @@ public class StateEditor(
|
|||
(m.Item1, settings.UseSingleSource ? settings.Source :
|
||||
m.Item2 is StateSource.Game ? StateSource.Game : m.Item2)));
|
||||
|
||||
foreach (var meta in MetaExtensions.AllRelevant)
|
||||
foreach (var meta in MetaExtensions.AllRelevant.Where(mergedDesign.Design.DoApplyMeta))
|
||||
{
|
||||
if (!settings.RespectManual || !state.Sources[meta].IsManual())
|
||||
Editor.ChangeMetaState(state, meta, mergedDesign.Design.DesignData.GetMeta(meta), Source(meta), out _, settings.Key);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue