示例#1
0
        private void ApplyBonus(ItemEffectHandler.HandlerOperation operation)
        {
            foreach (var handler in Effects.Select(effect => EffectManager.Instance.GetItemEffectHandler(effect, Owner, this)))
            {
                handler.Operation = operation;

                handler.Apply();
            }
        }
示例#2
0
        private void ApplyEffects(BasePlayerItem item, ItemEffectHandler.HandlerOperation operation)
        {
            foreach (var handler in item.Effects.Select(effect => EffectManager.Instance.GetItemEffectHandler(effect, Owner, this)))
            {
                handler.Operation = operation;

                if (Owner.Inventory.GetEquipedItems().Any(x => x != item && x.GetExoEffects().ToList().Exists(y => item.GetExoEffects().Any(z => z == y))) &&
                    item.GetExoEffects().Any(x => x == handler.Effect))
                {
                    handler.Operation = ItemEffectHandler.HandlerOperation.NONAPPLY;
                }

                handler.Apply();
            }
        }