using Codice.CM.Common; using Core.Utility; using Excel2Json; using Fort23.UTool; using ItemInfo = GameLogic.Bag.ItemInfo; namespace GameLogic.Equipment { public class EquipmentInfo { //装备ID+装等+Type+品质11011 public string guid; public HeroBasicEquipConfig basicEquipConfig; public ItemConfig itemConfig; // public ItemInfo itemInfo; public int count; public int quality; public int ownerID; public int level; public int Attack => m_Attack; public int Defense => m_Defense; public int Hp => m_HP; private int m_Attack; private int m_Defense; private int m_HP; public void InitEquipment(ItemInfo modelInfo, ItemInfo lvInfo, ItemInfo qualityInfo) { //有效性检查 if (modelInfo.dropItemConfig.dropItemType != 1 && lvInfo.dropItemConfig.dropItemType != 3 && qualityInfo.dropItemConfig.dropItemType != 2) { string errorTip = "modelInfo.dropItemConfig.dropItemType=" + modelInfo.dropItemConfig.dropItemType + " |lvInfo.dropItemConfig.dropItemType" + lvInfo.dropItemConfig.dropItemType + " |qualityInfo.dropItemConfig.dropItemType" + qualityInfo.dropItemConfig.dropItemType; LogTool.Error(errorTip); } } public void InitEquipment(ItemConfig itemConfig, int eLv, int quality) { // itemInfo = new ItemInfo(itemID); // itemConfig = ConfigComponent.Instance.Get(itemID); this.itemConfig = itemConfig; this.quality = quality; // int equipmentConfigID = itemConfig.itemParam[0] * 10000 + itemConfig.itemParam[1] * 1000 + eLv; int equipmentConfigID = GlobalParam.GenerateEquipmentID(itemConfig.itemParam[0], itemConfig.itemParam[1], eLv); level = eLv; basicEquipConfig = ConfigComponent.Instance.Get(equipmentConfigID); guid = GlobalParam.GenerateGUID(); CalAtt(); } public void CalAtt() { // m_Attack = basicEquipConfig.att // foreach (int attTyp in basicEquipConfig.AttType) for(int i=0; i < basicEquipConfig.AttType.Length; i++) { int attTyp = basicEquipConfig.AttType[i]; int value = basicEquipConfig.AttValue[i] * PlayerManager.Instance.eqController. GetEquipmentRarityAttributeFactor(quality); switch (attTyp) { case 1: m_HP = value; break; case 2: m_Attack = value; break; case 3: m_Defense = value; break; } } } public AccountFileInfo.EqData ToData() { AccountFileInfo.EqData eqData = new AccountFileInfo.EqData { guid = guid, count = count, itemConfigID = itemConfig.ID, level = level, quality = quality, ownerID = ownerID }; return eqData; } } }