void SetImpl <T>(T?newValue, ref T value, WeaponTuningBarrelModifiers modifer) where T : struct { var old_flags = Modifiers; int index = Bits.TrailingZerosCount((uint)modifer); EnumFlags.Modify(newValue.HasValue, ref Modifiers, modifer); value = newValue.GetValueOrDefault(); if (old_flags != Modifiers) { NotifyPropertyChanged(kIsUnchangedChanged); } NotifyPropertyChanged(kValueChanged[index]); }
T?GetImpl <T>(T value, WeaponTuningBarrelModifiers modifer) where T : struct { return(EnumFlags.Test(Modifiers, modifer) ? value : (T?)null); }
public void Clear() { Modifiers = 0; }