diff --git a/Glamourer/Interop/Material/MaterialValueManager.cs b/Glamourer/Interop/Material/MaterialValueManager.cs index d4aec65..5dd3001 100644 --- a/Glamourer/Interop/Material/MaterialValueManager.cs +++ b/Glamourer/Interop/Material/MaterialValueManager.cs @@ -1,10 +1,11 @@ global using StateMaterialManager = Glamourer.Interop.Material.MaterialValueManager; -global using DesignMaterialManager = Glamourer.Interop.Material.MaterialValueManager; +global using DesignMaterialManager = Glamourer.Interop.Material.MaterialValueManager; using Glamourer.State; namespace Glamourer.Interop.Material; +public record struct MaterialValueDesign(Vector3 Value, bool Enabled); public record struct MaterialValueState(Vector3 Game, Vector3 Model, StateSource Source); public readonly struct MaterialValueManager @@ -17,6 +18,13 @@ public readonly struct MaterialValueManager public void Clear() => _values.Clear(); + public MaterialValueManager Clone() + { + var ret = new MaterialValueManager(); + ret._values.AddRange(_values); + return ret; + } + public bool TryGetValue(MaterialValueIndex index, out T value) { if (_values.Count == 0)