123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- using Codice.CM.Common;
- using Core.Utility;
- using Excel2Json;
- using Fort23.UTool;
- using UnityEngine;
- using ItemInfo = GameLogic.Bag.ItemInfo;
- namespace GameLogic.Equipment
- {
- public class EquipmentInfo
- {
- /// <summary>
- /// guid= itemID + eLv + quality
- /// 这几个值一样,那装备的属性就一定相同
- /// 后续要做特殊装备的话,在加新的字段,以及根据新资源,来组合新guid
- /// </summary>
- 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;
- private ItemInfo myItemInfo;
- 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,
- lvInfo.dropItemConfig.itemID[0],
- qualityInfo.dropItemConfig.itemID[0]);
- }
-
- public void InitEquipment(ItemConfig itemConfig, int eLv, int quality)
- {
- // itemInfo = new ItemInfo(itemID);
- // itemConfig = ConfigComponent.Instance.Get<ItemConfig>(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,
- PlayerManager.Instance.heroController.mainLevel);
-
-
- basicEquipConfig = ConfigComponent.Instance.Get<HeroBasicEquipConfig>(equipmentConfigID);
- level = basicEquipConfig.lv;
- // guid = GlobalParam.GenerateGUID();
- myItemInfo.guid = itemConfig.ID.ToString() + basicEquipConfig.lv + quality;
- 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 = itemConfig.ID,
- level = level,
- quality = quality,
- ownerID = ownerID
- };
- return eqData;
- }
-
-
- }
-
- }
|