Add IpcManual state.

This commit is contained in:
Ottermandias 2024-01-30 17:51:52 +01:00
parent 994b7bfb6c
commit 818bf71032
15 changed files with 242 additions and 109 deletions

View file

@ -243,7 +243,7 @@ public sealed class StateManager(
state.Materials.Clear();
var actors = ActorData.Invalid;
if (source is StateSource.Manual or StateSource.Ipc)
if (source is not StateSource.Game)
actors = Applier.ApplyAll(state, redraw, true);
Glamourer.Log.Verbose(
@ -262,7 +262,7 @@ public sealed class StateManager(
state.Sources[flag] = StateSource.Game;
var actors = ActorData.Invalid;
if (source is StateSource.Manual or StateSource.Ipc)
if (source is not StateSource.Game)
actors = Applier.ChangeParameters(state, CustomizeParameterExtensions.All, true);
Glamourer.Log.Verbose(
$"Reset advanced customization state of {state.Identifier.Incognito(null)} to game base. [Affecting {actors.ToLazyString("nothing")}.]");
@ -316,28 +316,10 @@ public sealed class StateManager(
}
}
if (state.Sources[MetaIndex.HatState] is StateSource.Fixed)
foreach (var meta in MetaExtensions.AllRelevant.Where(f => state.Sources[f] is StateSource.Fixed))
{
state.Sources[MetaIndex.HatState] = StateSource.Game;
state.ModelData.SetHatVisible(state.BaseData.IsHatVisible());
}
if (state.Sources[MetaIndex.VisorState] is StateSource.Fixed)
{
state.Sources[MetaIndex.VisorState] = StateSource.Game;
state.ModelData.SetVisor(state.BaseData.IsVisorToggled());
}
if (state.Sources[MetaIndex.WeaponState] is StateSource.Fixed)
{
state.Sources[MetaIndex.WeaponState] = StateSource.Game;
state.ModelData.SetWeaponVisible(state.BaseData.IsWeaponVisible());
}
if (state.Sources[MetaIndex.Wetness] is StateSource.Fixed)
{
state.Sources[MetaIndex.Wetness] = StateSource.Game;
state.ModelData.SetIsWet(state.BaseData.IsWet());
state.Sources[meta] = StateSource.Game;
state.ModelData.SetMeta(meta, state.BaseData.GetMeta(meta));
}
}