static bool P_ValT_ValueUpdater <T>(MuttableVh <T> valueStore, Transform <T> transform) where T : struct { transform.EnsureNotNull(nameof(transform)); // var currentVersion = valueStore.ReadDA(ref valueStore._value); var newValue = transform(currentVersion); if (EqualityComparer <T> .Default.Equals(x: currentVersion, y: newValue)) { return(false); } else { VolatileUtilities.Write(ref valueStore._value, newValue); valueStore.EnsureNotDisposeState(); return(true); } }
static bool P_RefT_ValueUpdater <T>(MuttableVh <T> valueStore, Transform <T> transform) where T : class { // return(valueStore.UpdDABool(location: ref valueStore._value, transform: transform)); }
static T P_RefT_ValueSetter <T>(MuttableVh <T> valueStore, T value) where T : class => valueStore.WriteDA(ref valueStore._value, value);