public void ClearChangesMask <U>(UpdateFieldArray <U> updateField) where U : new() { if (typeof(U).GetInterfaces().Any(x => typeof(IHasChangesMask) == x)) { for (int i = 0; i < updateField.GetSize(); ++i) { ((IHasChangesMask)updateField[i]).ClearChangesMask(); } } }
public void ClearChangesMask <U>(UpdateFieldArray <U> updateField) where U : new() { if (typeof(U).BaseType == typeof(IHasChangesMask)) { for (int i = 0; i < updateField.GetSize(); ++i) { ((IHasChangesMask)updateField[i]).ClearChangesMask(); } } }
public void ClearChangesMask <U>(UpdateFieldArray <U> updateField) where U : new() { if (typeof(IHasChangesMask).IsAssignableFrom(typeof(U))) { for (int i = 0; i < updateField.GetSize(); ++i) { ((IHasChangesMask)updateField[i]).ClearChangesMask(); } } }
public void MarkChanged <U>(UpdateFieldArray <U> updateField, int index) where U : new() { _changesMask.Set(updateField.Bit); _changesMask.Set(updateField.FirstElementBit + index); }
public ref U ModifyValue <U>(UpdateFieldArray <U> updateField, int index) where U : new() { MarkChanged(updateField, index); return(ref updateField._values[index]); }
public ref U ModifyValue <U>(UpdateFieldArray <U> updateField, int index) where U : new() { _changesMask.Set(updateField.Bit); _changesMask.Set(updateField.FirstElementBit + index); return(ref updateField._values[index]); }