using Core.Utility; using Excel2Json; using Fort23.UTool; using UnityEngine; using ItemInfo = GameLogic.Bag.ItemInfo; namespace GameLogic.Equipment { public class EquipmentInfo { /// /// guid= itemID + eLv + quality /// 这几个值一样,那装备的属性就一定相同 /// 后续要做特殊装备的话,在加新的字段,以及根据新资源,来组合新guid /// // public string guid; public HeroBasicEquipConfig basicEquipConfig; // public ItemConfig itemConfig; // public ItemInfo itemInfo; // public int count; public int quality; public int zy; public int level; public int dropLv; public bool isWear; 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; private ItemInfo myItemInfo; public EquipmentInfo(AccountFileInfo.EqData eqData, ItemInfo itemInfo) { myItemInfo = itemInfo; isWear = eqData.isEquip; basicEquipConfig = ConfigComponent.Instance.Get(eqData.zyEqId); level = basicEquipConfig.lv; quality = eqData.quality; // CalAtt(); } public EquipmentInfo() { } 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); } myItemInfo = modelInfo; InitEquipment(modelInfo.config.ID, lvInfo.dropItemConfig.itemID[0], qualityInfo.dropItemConfig.itemID[0]); } public void InitEquipment(int itemID, int dropLv, int quality) { // itemInfo = new ItemInfo(itemID); ItemConfig itemConfig = ConfigComponent.Instance.Get(itemID); // this.itemConfig = itemConfig; this.quality = quality; this.dropLv = dropLv; // int equipmentConfigID = itemConfig.itemParam[0] * 10000 + itemConfig.itemParam[1] * 1000 + eLv; // int equipmentConfigID = // GlobalParam.GenerateEquipmentID(itemConfig.itemParam[0], itemConfig.itemParam[1], dropLv, // PlayerManager.Instance.heroController.mainLevel); // // basicEquipConfig = ConfigComponent.Instance.Get(equipmentConfigID); level = basicEquipConfig.lv; // guid = GlobalParam.GenerateGUID(); myItemInfo.guid = itemConfig.ID.ToString() + basicEquipConfig.lv + quality; // LogTool.Log("装备职业:"+ basicEquipConfig.profession + // "-装备位置:" + basicEquipConfig.Type + // "-装备品质:" + quality + // "-装备等级:" + basicEquipConfig.lv); // 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 = Mathf.RoundToInt( 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 = myItemInfo.config.ID, // dropLv = dropLv, zyEqId = basicEquipConfig.ID, quality = quality, // zy = zy, isEquip = isWear, }; return eqData; } } }