public void RemoveModifiers(AttributeSystem <T> attributeSystem) { for (int i = 0; i < Attributes.Count; i++) { if (Attributes[i].Modifiers.Count > 0) { Attributes[i].RemoveModifiers(attributeSystem); } } }
public void RemoveModifiers(AttributeSystem <T> attributeSystem) { List <Attribute <T> > modsToRemove = Modifiers.FindAll(item => item.Parent == attributeSystem); Modifiers.RemoveAll(item => item.Parent == attributeSystem); for (int i = 0; i < 0; i++) { OnAttributeModRemove?.Invoke(modsToRemove[i]); } }
public void AddModifiers(AttributeSystem <T> attributeSystem) { List <Attribute <T> > allModifiers = attributeSystem.Attributes.FindAll(item => item.Type == AttributeType.Modifier); Attribute <T> currentAttribute = null; for (int i = 0; i < allModifiers.Count; i++) { for (int j = 0; j < allModifiers[i].TargetAttributeModifier.Count; j++) { currentAttribute = GetAttributeByID(allModifiers[i].TargetAttributeModifier[j].TargetAttributeID); if (currentAttribute != null) { currentAttribute.AddModifier(allModifiers[i], allModifiers[i].TargetAttributeModifier[j]); } } } }
public Attribute(AttributeSystem <T> parent, AttributeConfig <T> config) { Parent = parent; Config = config; }