using System; using System.Collections.Generic; using WingsEmu.DTOs.BCards; using WingsEmu.Packets.Enums; namespace WingsEmu.Game.Buffs; public interface IBCardComponent { public void AddEquipmentBCards(EquipmentType equipmentType, IEnumerable bCards); public void ClearEquipmentBCards(EquipmentType equipmentType); public IReadOnlyList GetEquipmentBCards(EquipmentType equipmentType); public IReadOnlyDictionary> GetEquipmentBCards(); public (int firstData, int secondData) GetAllBCardsInformation(BCardType type, byte subType, int level); public IReadOnlyList GetAllBCards(); public IReadOnlyList<(int casterLevel, BCardDTO bCard)> GetBuffBCards(Func<(int, BCardDTO), bool> predicate = null); public bool HasBCard(BCardType bCardType, byte subType); public bool HasEquipmentsBCard(BCardType bCardType, byte subType); public void AddBCard(BCardDTO bCard); public void RemoveBCard(BCardDTO bCard); public void AddBuffBCards(Buff buff, IEnumerable bCards = null); public void RemoveBuffBCards(Buff buff); public void AddTriggerBCards(BCardTriggerType triggerType, List bCards); public void RemoveAllTriggerBCards(BCardTriggerType triggerType); public IReadOnlyList GetTriggerBCards(BCardTriggerType triggerType); public void AddShellTrigger(bool isMainWeapon, List bCards); public void ClearShellTrigger(bool isMainWeapon); public IReadOnlyList GetShellTriggers(bool isMainWeapon); public void AddChargeBCard(BCardDTO bCard); public void RemoveChargeBCard(BCardDTO bCard); public void ClearChargeBCard(); public IEnumerable GetChargeBCards(); }