コード例 #1
0
 public void RemoveModifiers(AttributeSystem <T> attributeSystem)
 {
     for (int i = 0; i < Attributes.Count; i++)
     {
         if (Attributes[i].Modifiers.Count > 0)
         {
             Attributes[i].RemoveModifiers(attributeSystem);
         }
     }
 }
コード例 #2
0
        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]);
            }
        }
コード例 #3
0
        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]);
                    }
                }
            }
        }
コード例 #4
0
 public Attribute(AttributeSystem <T> parent, AttributeConfig <T> config)
 {
     Parent = parent;
     Config = config;
 }