mirror of
https://github.com/Ottermandias/Glamourer.git
synced 2025-12-18 14:44:31 +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;
|
internal MetaFlag ApplyMeta = MetaFlag.HatState | MetaFlag.VisorState | MetaFlag.WeaponState;
|
||||||
private bool _writeProtected;
|
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))
|
if (customize.Equals(_designData.Customize))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
_designData.Customize = customize;
|
set ??= customizeService.Manager.GetSet(customize.Clan, customize.Gender);
|
||||||
CustomizeSet = 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;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -124,7 +124,8 @@ public class DesignConverter(
|
||||||
}
|
}
|
||||||
|
|
||||||
ret.SetApplyMeta(MetaIndex.Wetness, customize);
|
ret.SetApplyMeta(MetaIndex.Wetness, customize);
|
||||||
ret.ApplyCustomize = customize ? CustomizeFlagExtensions.AllRelevant : 0;
|
if (!customize)
|
||||||
|
ret.ApplyCustomize = 0;
|
||||||
|
|
||||||
if (!equip)
|
if (!equip)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -227,7 +227,7 @@ public class DesignMerger(
|
||||||
ret.Sources[CustomizeIndex.Face] = source;
|
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;
|
var face = customize.Face;
|
||||||
foreach (var index in Enum.GetValues<CustomizeIndex>())
|
foreach (var index in Enum.GetValues<CustomizeIndex>())
|
||||||
{
|
{
|
||||||
|
|
@ -248,7 +248,7 @@ public class DesignMerger(
|
||||||
fixFlags &= ~flag;
|
fixFlags &= ~flag;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret.Design.SetCustomize(_customize, customize);
|
ret.Design.SetCustomize(_customize, customize, set);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void ApplyFixFlags(MergedDesign ret, CustomizeFlag fixFlags)
|
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,
|
protected DesignComboBase(Func<IReadOnlyList<Tuple<Design, string>>> generator, Logger log, DesignChanged designChanged,
|
||||||
TabSelected tabSelected, EphemeralConfig config, DesignColors designColors)
|
TabSelected tabSelected, EphemeralConfig config, DesignColors designColors)
|
||||||
: base(generator, MouseWheelType.Unmodified, log)
|
: base(generator, MouseWheelType.Control, log)
|
||||||
{
|
{
|
||||||
_designChanged = designChanged;
|
_designChanged = designChanged;
|
||||||
TabSelected = tabSelected;
|
TabSelected = tabSelected;
|
||||||
|
|
@ -169,21 +169,24 @@ public abstract class DesignCombo : DesignComboBase
|
||||||
=> Draw(Design, (Incognito ? Design?.Incognito : Design?.Name.Text) ?? string.Empty, width);
|
=> Draw(Design, (Incognito ? Design?.Incognito : Design?.Name.Text) ?? string.Empty, width);
|
||||||
}
|
}
|
||||||
|
|
||||||
public sealed class QuickDesignCombo(
|
public sealed class QuickDesignCombo : DesignCombo
|
||||||
DesignManager designs,
|
{
|
||||||
DesignFileSystem fileSystem,
|
public QuickDesignCombo(DesignManager designs,
|
||||||
Logger log,
|
DesignFileSystem fileSystem,
|
||||||
DesignChanged designChanged,
|
Logger log,
|
||||||
TabSelected tabSelected,
|
DesignChanged designChanged,
|
||||||
EphemeralConfig config,
|
TabSelected tabSelected,
|
||||||
DesignColors designColors)
|
EphemeralConfig config,
|
||||||
: DesignCombo(log, designChanged, tabSelected, config, designColors, () =>
|
DesignColors designColors)
|
||||||
[
|
: base(log, designChanged, tabSelected, config, designColors, () =>
|
||||||
.. designs.Designs
|
[
|
||||||
.Where(d => d.QuickDesign)
|
.. designs.Designs
|
||||||
.Select(d => new Tuple<Design, string>(d, fileSystem.FindLeaf(d, out var l) ? l.FullName() : string.Empty))
|
.Where(d => d.QuickDesign)
|
||||||
.OrderBy(d => d.Item2),
|
.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(
|
public sealed class LinkDesignCombo(
|
||||||
DesignManager designs,
|
DesignManager designs,
|
||||||
|
|
|
||||||
|
|
@ -277,7 +277,7 @@ public class StateEditor(
|
||||||
(m.Item1, settings.UseSingleSource ? settings.Source :
|
(m.Item1, settings.UseSingleSource ? settings.Source :
|
||||||
m.Item2 is StateSource.Game ? StateSource.Game : m.Item2)));
|
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())
|
if (!settings.RespectManual || !state.Sources[meta].IsManual())
|
||||||
Editor.ChangeMetaState(state, meta, mergedDesign.Design.DesignData.GetMeta(meta), Source(meta), out _, settings.Key);
|
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