public void ApplyExperienceLevelAttributesPatch(ExperienceLevelAttributesPatch experienceLevelAttributesPatch, ExperienceLevelAttributesWrapper experienceLevelAttributesWrapper) { applyPropertyPatch(experienceLevelAttributesPatch.BuffTooltipLocID, () => experienceLevelAttributesWrapper.BuffTooltipLocID); applyPropertyPatch(experienceLevelAttributesPatch.RequiredExperience, () => experienceLevelAttributesWrapper.RequiredExperience); var attributeBuffSetWrapper = new AttributeBuffSetWrapper(experienceLevelAttributesWrapper.Buff); experienceLevelAttributesWrapper.Buff = attributeBuffSetWrapper; applyAttributeBuffSetPatch(experienceLevelAttributesPatch.Buff, attributeBuffSetWrapper); }
protected void OutputForAttributeBuffSet(AttributeBuffSetWrapper buffSet) { //Print($"uniqueTypeName: {buffSet.UniqueTypeName}"); //using (BeginScope($"buffs")) foreach (var buff in buffSet.Buffs) { using (BeginScope()) { OutputForBuff(buff); } } }
protected override void Apply(AttributeLoader loader, object wrapperObjj) { if (!(wrapperObjj is RelicAttributesWrapper wrapper)) { throw new System.InvalidCastException(); } loader.ApplyPPatch(CollectibleType, () => wrapper.CollectibleType); loader.ApplyPPatch(DetonationWeaponTypeID, () => wrapper.DetonationWeaponTypeID); { var l = new AttributeBuffSetWrapper(wrapper.BuffsWhileHolding); loader.ApplyLPatch(BuffsWhileHolding, l.Buffs, () => new AttributeBuffWrapper(), nameof(AttributeBuff)); wrapper.BuffsWhileHolding = l; } }
protected override void Apply(AttributeLoader loader, object wrapperObj) { if (!(wrapperObj is ExperienceLevelAttributesWrapper w)) { throw new System.InvalidCastException(); } loader.ApplyPPatch(RequiredExperience, () => w.RequiredExperience); loader.ApplyPMultPatch(RequiredExperienceMult, () => w.RequiredExperience); loader.ApplyPPatch(BuffTooltipLocID, () => w.BuffTooltipLocID); { var l = new AttributeBuffSetWrapper(w.Buff); loader.ApplyLPatch(Buff, l.Buffs, () => new AttributeBuffWrapper(), nameof(AttributeBuff)); w.Buff = l; } }
private void applyAttributeBuffSetPatch(Dictionary <string, AttributeBuffPatch> patch, AttributeBuffSetWrapper wrapper) { applyListPatch(patch, wrapper.Buffs, () => new AttributeBuffWrapper(), applyAttributeBuffPatch, nameof(AttributeBuff)); }