| | |
| | | public partial class EquipGSParamConfig : IConfigPostProcess
|
| | | {
|
| | | private static Dictionary<string, EquipGSParamConfig> s_tagGSModelDict = new Dictionary<string, EquipGSParamConfig>();//用于记录装备评分数据
|
| | | private static Dictionary<AttrEnum, int> _tagGsProValueDict = new Dictionary<AttrEnum, int>();
|
| | | private static Dictionary<PropertyType, int> _tagGsProValueDict = new Dictionary<PropertyType, int>();
|
| | |
|
| | | public void OnConfigParseCompleted()
|
| | | {
|
| | |
| | | return gsModel;
|
| | | }
|
| | |
|
| | | public static Dictionary<AttrEnum, int> GetTagGsProValueDict(int lv, int color, int star)
|
| | | public static Dictionary<PropertyType, int> GetTagGsProValueDict(int lv, int color, int star)
|
| | | {
|
| | | _tagGsProValueDict.Clear();
|
| | | EquipGSParamConfig gsModel = GetGSModel(lv, color, star);
|
| | | if (gsModel == null)
|
| | | return null;
|
| | |
|
| | | _tagGsProValueDict.Add(AttrEnum.AtkPrecent, gsModel.AtkPerC);
|
| | | _tagGsProValueDict.Add(AttrEnum.AddHurt, gsModel.DamagePerC);
|
| | | _tagGsProValueDict.Add(AttrEnum.CritChance, gsModel.SuperHitRateC);
|
| | | _tagGsProValueDict.Add(AttrEnum.CritHurtPrecent, gsModel.SuperHitPerC);
|
| | | _tagGsProValueDict.Add(AttrEnum.ReduceHurt, gsModel.DamReduceC);
|
| | | _tagGsProValueDict.Add(AttrEnum.HpPrecent, gsModel.MaxHPPerC);
|
| | | _tagGsProValueDict.Add(AttrEnum.DefencePrecent, gsModel.DefPerC);
|
| | | _tagGsProValueDict.Add(AttrEnum.HeartHit, gsModel.LuckyHitRateC);
|
| | | _tagGsProValueDict.Add(AttrEnum.PetAddHurt, gsModel.PetDamPerC);
|
| | | _tagGsProValueDict.Add(AttrEnum.EveryLvAddAtk, gsModel.PerLVAtkC);
|
| | | _tagGsProValueDict.Add(AttrEnum.DodgePrecent, gsModel.MissRateC);
|
| | | _tagGsProValueDict.Add(AttrEnum.HitPrecent, gsModel.HitRateC);
|
| | | _tagGsProValueDict.Add(AttrEnum.HurtReflect, gsModel.DamBackPerC);
|
| | | _tagGsProValueDict.Add(AttrEnum.EveryLvAddHp, gsModel.PerLVMaxHPC);
|
| | | _tagGsProValueDict.Add(AttrEnum.AddEquipDropPrecent, gsModel.DropEquipPerC);
|
| | | _tagGsProValueDict.Add(AttrEnum.AddCoinsPrecent, gsModel.DropMoneyPerC);
|
| | | _tagGsProValueDict.Add(AttrEnum.DefyDefResis, gsModel.IgnoreDefRateReduceC);
|
| | | _tagGsProValueDict.Add(AttrEnum.DefChance, gsModel.DamChanceDefC);
|
| | | _tagGsProValueDict.Add(AttrEnum.CritResis, gsModel.SuperHitReduceC);
|
| | | _tagGsProValueDict.Add(AttrEnum.SkillHurt, gsModel.SkillAtkRateC);
|
| | | _tagGsProValueDict.Add(AttrEnum.MoveSpeedPrecent, gsModel.SpeedPerC);
|
| | | _tagGsProValueDict.Add(AttrEnum.ATKSPEED, gsModel.AtkSpeedC);
|
| | | _tagGsProValueDict.Add(AttrEnum.SkillHurtPrecent, gsModel.SkillAtkRateReduceC);
|
| | | _tagGsProValueDict.Add(AttrEnum.HIT, gsModel.HitC);
|
| | | _tagGsProValueDict.Add(AttrEnum.MISS, gsModel.MissC);
|
| | | _tagGsProValueDict.Add(AttrEnum.SkillAddPerA, gsModel.SkillAddPerAC);
|
| | | _tagGsProValueDict.Add(AttrEnum.SkillAddPerB, gsModel.SkillAddPerBC);
|
| | | _tagGsProValueDict.Add(AttrEnum.SkillAddPerC, gsModel.SkillAddPerCC);
|
| | | _tagGsProValueDict.Add(AttrEnum.SkillAddPerD, gsModel.SkillAddPerDC);
|
| | | _tagGsProValueDict.Add(AttrEnum.SkillAddPerE, gsModel.SkillAddPerEC);
|
| | | _tagGsProValueDict.Add(AttrEnum.SkillAddPerF, gsModel.SkillAddPerFC);
|
| | | _tagGsProValueDict.Add(AttrEnum.SkillAddPerG, gsModel.SkillAddPerGC);
|
| | | _tagGsProValueDict.Add(AttrEnum.SkillReducePerA, gsModel.SkillReducePerAC);
|
| | | _tagGsProValueDict.Add(AttrEnum.SkillReducePerB, gsModel.SkillReducePerBC);
|
| | | _tagGsProValueDict.Add(AttrEnum.SkillReducePerC, gsModel.SkillReducePerCC);
|
| | | _tagGsProValueDict.Add(AttrEnum.SkillReducePerD, gsModel.SkillReducePerDC);
|
| | | _tagGsProValueDict.Add(AttrEnum.SkillReducePerE, gsModel.SkillReducePerEC);
|
| | | _tagGsProValueDict.Add(AttrEnum.SkillReducePerF, gsModel.SkillReducePerFC);
|
| | | _tagGsProValueDict.Add(AttrEnum.SkillReducePerG, gsModel.SkillReducePerGC);
|
| | | _tagGsProValueDict.Add(PropertyType.AtkPrecent, gsModel.AtkPerC);
|
| | | _tagGsProValueDict.Add(PropertyType.AddHurt, gsModel.DamagePerC);
|
| | | _tagGsProValueDict.Add(PropertyType.CritChance, gsModel.SuperHitRateC);
|
| | | _tagGsProValueDict.Add(PropertyType.CritHurtPrecent, gsModel.SuperHitPerC);
|
| | | _tagGsProValueDict.Add(PropertyType.ReduceHurt, gsModel.DamReduceC);
|
| | | _tagGsProValueDict.Add(PropertyType.HpPrecent, gsModel.MaxHPPerC);
|
| | | _tagGsProValueDict.Add(PropertyType.DefencePrecent, gsModel.DefPerC);
|
| | | _tagGsProValueDict.Add(PropertyType.HeartHit, gsModel.LuckyHitRateC);
|
| | | _tagGsProValueDict.Add(PropertyType.PetAddHurt, gsModel.PetDamPerC);
|
| | | _tagGsProValueDict.Add(PropertyType.EveryLvAddAtk, gsModel.PerLVAtkC);
|
| | | _tagGsProValueDict.Add(PropertyType.DodgePrecent, gsModel.MissRateC);
|
| | | _tagGsProValueDict.Add(PropertyType.HitPrecent, gsModel.HitRateC);
|
| | | _tagGsProValueDict.Add(PropertyType.HurtReflect, gsModel.DamBackPerC);
|
| | | _tagGsProValueDict.Add(PropertyType.EveryLvAddHp, gsModel.PerLVMaxHPC);
|
| | | _tagGsProValueDict.Add(PropertyType.AddEquipDropPrecent, gsModel.DropEquipPerC);
|
| | | _tagGsProValueDict.Add(PropertyType.AddCoinsPrecent, gsModel.DropMoneyPerC);
|
| | | _tagGsProValueDict.Add(PropertyType.DefyDefResis, gsModel.IgnoreDefRateReduceC);
|
| | | _tagGsProValueDict.Add(PropertyType.DefChance, gsModel.DamChanceDefC);
|
| | | _tagGsProValueDict.Add(PropertyType.CritResis, gsModel.SuperHitReduceC);
|
| | | _tagGsProValueDict.Add(PropertyType.SkillHurt, gsModel.SkillAtkRateC);
|
| | | _tagGsProValueDict.Add(PropertyType.MoveSpeedPrecent, gsModel.SpeedPerC);
|
| | | _tagGsProValueDict.Add(PropertyType.ATKSPEED, gsModel.AtkSpeedC);
|
| | | _tagGsProValueDict.Add(PropertyType.SkillHurtPrecent, gsModel.SkillAtkRateReduceC);
|
| | | _tagGsProValueDict.Add(PropertyType.HIT, gsModel.HitC);
|
| | | _tagGsProValueDict.Add(PropertyType.MISS, gsModel.MissC);
|
| | | _tagGsProValueDict.Add(PropertyType.SkillAddPerA, gsModel.SkillAddPerAC);
|
| | | _tagGsProValueDict.Add(PropertyType.SkillAddPerB, gsModel.SkillAddPerBC);
|
| | | _tagGsProValueDict.Add(PropertyType.SkillAddPerC, gsModel.SkillAddPerCC);
|
| | | _tagGsProValueDict.Add(PropertyType.SkillAddPerD, gsModel.SkillAddPerDC);
|
| | | _tagGsProValueDict.Add(PropertyType.SkillAddPerE, gsModel.SkillAddPerEC);
|
| | | _tagGsProValueDict.Add(PropertyType.SkillAddPerF, gsModel.SkillAddPerFC);
|
| | | _tagGsProValueDict.Add(PropertyType.SkillAddPerG, gsModel.SkillAddPerGC);
|
| | | _tagGsProValueDict.Add(PropertyType.SkillReducePerA, gsModel.SkillReducePerAC);
|
| | | _tagGsProValueDict.Add(PropertyType.SkillReducePerB, gsModel.SkillReducePerBC);
|
| | | _tagGsProValueDict.Add(PropertyType.SkillReducePerC, gsModel.SkillReducePerCC);
|
| | | _tagGsProValueDict.Add(PropertyType.SkillReducePerD, gsModel.SkillReducePerDC);
|
| | | _tagGsProValueDict.Add(PropertyType.SkillReducePerE, gsModel.SkillReducePerEC);
|
| | | _tagGsProValueDict.Add(PropertyType.SkillReducePerF, gsModel.SkillReducePerFC);
|
| | | _tagGsProValueDict.Add(PropertyType.SkillReducePerG, gsModel.SkillReducePerGC);
|
| | | return _tagGsProValueDict;
|
| | | }
|
| | | }
|
| | |
| | | int _color = LuaAPI.xlua_tointeger(L, 2); |
| | | int _star = LuaAPI.xlua_tointeger(L, 3); |
| | | |
| | | System.Collections.Generic.Dictionary<AttrEnum, int> gen_ret = EquipGSParamConfig.GetTagGsProValueDict( _lv, _color, _star ); |
| | | System.Collections.Generic.Dictionary<PropertyType, int> gen_ret = EquipGSParamConfig.GetTagGsProValueDict( _lv, _color, _star ); |
| | | translator.Push(L, gen_ret); |
| | | |
| | | |
| | |
| | | |
| | | |
| | | { |
| | | AttrEnum _type;translator.Get(L, 1, out _type); |
| | | PropertyType _type;translator.Get(L, 1, out _type); |
| | | |
| | | float gen_ret = UIHelper.GetPropertyMapPlayerData( _type ); |
| | | LuaAPI.lua_pushnumber(L, gen_ret); |
| | |
| | | |
| | | PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } } |
| | | AuctionNewGetShowModel model { get { return ModelCenter.Instance.GetModel<AuctionNewGetShowModel>(); } } |
| | | AuctionHelpModel auctionHelpModel = ModelCenter.Instance.GetModel<AuctionHelpModel>(); |
| | | AuctionHelpModel auctionHelpModel { get { return ModelCenter.Instance.GetModel<AuctionHelpModel>(); } } |
| | | |
| | | string guid; |
| | | public void Display(string guid) |
| | |
| | | }
|
| | | }
|
| | |
|
| | | Dictionary<AttrEnum, int> needPointDict = new Dictionary<AttrEnum, int>();
|
| | | Dictionary<PropertyType, int> needPointDict = new Dictionary<PropertyType, int>();
|
| | |
|
| | | Color32 conditionColor = new Color32(255, 244, 205, 255);
|
| | | Color32 conditionRedColor = new Color32(255, 1, 1, 255);
|
| | |
| | | needPointDict.Clear();
|
| | | if (itemAttrData.itemConfig.LimitSTR > 0)
|
| | | {
|
| | | needPointDict.Add(AttrEnum.POWER, itemAttrData.itemConfig.LimitSTR);
|
| | | needPointDict.Add(PropertyType.POWER, itemAttrData.itemConfig.LimitSTR);
|
| | | }
|
| | |
|
| | | if (itemAttrData.itemConfig.LimitPHY > 0)
|
| | | {
|
| | | needPointDict.Add(AttrEnum.AGILITY, itemAttrData.itemConfig.LimitPHY);
|
| | | needPointDict.Add(PropertyType.AGILITY, itemAttrData.itemConfig.LimitPHY);
|
| | | }
|
| | |
|
| | | if (itemAttrData.itemConfig.LimitPNE > 0)
|
| | | {
|
| | | needPointDict.Add(AttrEnum.MENTALITY, itemAttrData.itemConfig.LimitPNE);
|
| | | needPointDict.Add(PropertyType.MENTALITY, itemAttrData.itemConfig.LimitPNE);
|
| | | }
|
| | |
|
| | | List<AttrEnum> needlist = needPointDict.Keys.ToList();
|
| | | List<PropertyType> needlist = needPointDict.Keys.ToList();
|
| | |
|
| | | int i = 0;
|
| | | for (i = 0; i < needPointTextlist.Count; i++)
|
| | |
| | | needPointNumlist[i].gameObject.SetActive(true);
|
| | | switch (needlist[i])
|
| | | {
|
| | | case AttrEnum.POWER:
|
| | | case PropertyType.POWER:
|
| | | if (itemAttrData.isHavePutLimit)
|
| | | {
|
| | | SetNeedPointUI(needPointDict[needlist[i]],needPointTextlist[i], needPointNumlist[i], Language.Get("KnapS113"));
|
| | |
| | | SetNeedPointUI(1,needPointTextlist[i], needPointNumlist[i], Language.Get("KnapS113"));
|
| | | }
|
| | | break;
|
| | | case AttrEnum.AGILITY:
|
| | | case PropertyType.AGILITY:
|
| | | if (itemAttrData.isHavePutLimit)
|
| | | {
|
| | | SetNeedPointUI(needPointDict[needlist[i]],needPointTextlist[i], needPointNumlist[i], Language.Get("KnapS112"));
|
| | |
| | | }
|
| | |
|
| | | break;
|
| | | case AttrEnum.MENTALITY:
|
| | | case PropertyType.MENTALITY:
|
| | | if (itemAttrData.isHavePutLimit)
|
| | | {
|
| | | SetNeedPointUI(needPointDict[needlist[i]],needPointTextlist[i], needPointNumlist[i], Language.Get("KnapS111"));
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | Dictionary<AttrEnum, int> needPointDict = new Dictionary<AttrEnum, int>();
|
| | | Dictionary<PropertyType, int> needPointDict = new Dictionary<PropertyType, int>();
|
| | |
|
| | | Color32 conditionColor = new Color32(255, 244, 205, 255);
|
| | | Color32 conditionRedColor = new Color32(255, 1, 1, 255);
|
| | |
| | | needPointDict.Clear();
|
| | | if (itemPathModel.chinItemModel.LimitSTR > 0)
|
| | | {
|
| | | needPointDict.Add(AttrEnum.POWER, itemPathModel.chinItemModel.LimitSTR);
|
| | | needPointDict.Add(PropertyType.POWER, itemPathModel.chinItemModel.LimitSTR);
|
| | | }
|
| | |
|
| | | if (itemPathModel.chinItemModel.LimitPHY > 0)
|
| | | {
|
| | | needPointDict.Add(AttrEnum.AGILITY, itemPathModel.chinItemModel.LimitPHY);
|
| | | needPointDict.Add(PropertyType.AGILITY, itemPathModel.chinItemModel.LimitPHY);
|
| | | }
|
| | |
|
| | | if (itemPathModel.chinItemModel.LimitPNE > 0)
|
| | | {
|
| | | needPointDict.Add(AttrEnum.MENTALITY, itemPathModel.chinItemModel.LimitPNE);
|
| | | needPointDict.Add(PropertyType.MENTALITY, itemPathModel.chinItemModel.LimitPNE);
|
| | | }
|
| | |
|
| | | List<AttrEnum> needlist = needPointDict.Keys.ToList();
|
| | | List<PropertyType> needlist = needPointDict.Keys.ToList();
|
| | |
|
| | | int i = 0;
|
| | | for (i = 0; i < needPointTextlist.Count; i++)
|
| | |
| | | needPointNumlist[i].gameObject.SetActive(true);
|
| | | switch (needlist[i])
|
| | | {
|
| | | case AttrEnum.POWER:
|
| | | case PropertyType.POWER:
|
| | | if (itemAttrData.isHavePutLimit)
|
| | | {
|
| | | SetNeedPointUI(needPointDict[needlist[i]],needPointTextlist[i], needPointNumlist[i], Language.Get("KnapS113"));
|
| | |
| | | SetNeedPointUI(1,needPointTextlist[i], needPointNumlist[i], Language.Get("KnapS113"));
|
| | | }
|
| | | break;
|
| | | case AttrEnum.AGILITY:
|
| | | case PropertyType.AGILITY:
|
| | | if (itemAttrData.isHavePutLimit)
|
| | | {
|
| | | SetNeedPointUI(needPointDict[needlist[i]],needPointTextlist[i], needPointNumlist[i], Language.Get("KnapS112"));
|
| | |
| | | }
|
| | |
|
| | | break;
|
| | | case AttrEnum.MENTALITY:
|
| | | case PropertyType.MENTALITY:
|
| | | if (itemAttrData.isHavePutLimit)
|
| | | {
|
| | | SetNeedPointUI(needPointDict[needlist[i]],needPointTextlist[i], needPointNumlist[i], Language.Get("KnapS111"));
|
| | |
| | | string minAtkValue = "";
|
| | | attrNamelist[code].gameObject.SetActive(true);
|
| | | attrValuelist[code].gameObject.SetActive(true);
|
| | | switch ((AttrEnum)attrIdlist[i])
|
| | | switch ((PropertyType)attrIdlist[i])
|
| | | {
|
| | | case AttrEnum.MinAtk:
|
| | | case PropertyType.MinAtk:
|
| | | break;
|
| | | case AttrEnum.PetMinAtk:
|
| | | case PropertyType.PetMinAtk:
|
| | | break;
|
| | | case AttrEnum.PetMaxAtk:
|
| | | case AttrEnum.MaxAtk:
|
| | | case PropertyType.PetMaxAtk:
|
| | | case PropertyType.MaxAtk:
|
| | | tipsModel.SetPetAttrStr(attrIdlist[i - 1], itemEffectDict[attrIdlist[i - 1]], out minAtkName, out minAtkValue);
|
| | | tipsModel.SetPetAttrStr(attrIdlist[i], itemEffectDict[attrIdlist[i]], out attrName, out attrValue, minAtkValue);
|
| | | code += 1;
|
| | |
| | | var normalProperties = new List<Int3>(); |
| | | foreach (var item in data.baseProperties) |
| | | { |
| | | switch ((AttrEnum)item.x) |
| | | switch ((PropertyType)item.x) |
| | | { |
| | | case AttrEnum.MinAtk: |
| | | case AttrEnum.PetMinAtk: |
| | | case PropertyType.MinAtk: |
| | | case PropertyType.PetMinAtk: |
| | | attack.x = item.y; |
| | | break; |
| | | case AttrEnum.MaxAtk: |
| | | case AttrEnum.PetMaxAtk: |
| | | case PropertyType.MaxAtk: |
| | | case PropertyType.PetMaxAtk: |
| | | attack.y = item.y; |
| | | break; |
| | | default: |
| | |
| | | { |
| | | foreach (var item in data.starProperties) |
| | | { |
| | | switch ((AttrEnum)item.x) |
| | | switch ((PropertyType)item.x) |
| | | { |
| | | case AttrEnum.ATK: |
| | | case PropertyType.ATK: |
| | | attack.z = item.y; |
| | | break; |
| | | default: |
| | |
| | | var lineIndex = 0; |
| | | if (attack != Int3.zero) |
| | | { |
| | | var config = PlayerPropertyConfig.Get((int)AttrEnum.ATK); |
| | | var config = PlayerPropertyConfig.Get((int)PropertyType.ATK); |
| | | var name = config.Name; |
| | | if (attack.z > 0) |
| | | { |
| | | var starValue = PlayerPropertyConfig.GetValueDescription((int)AttrEnum.ATK, attack.z); |
| | | var starValue = PlayerPropertyConfig.GetValueDescription((int)PropertyType.ATK, attack.z); |
| | | var starDescription = UIHelper.AppendColor(TextColType.Green, string.Format(" ({0}星+{1})", data.star, starValue)); |
| | | lines[lineIndex++] = string.Format("{0} +{1}-{2}{3}", name, attack.x, attack.y, starDescription); |
| | | } |
| | |
| | | [SerializeField]
|
| | | CanvasGroup tipAlpha;
|
| | |
|
| | | Dictionary<AttrEnum, int> needPointDict = new Dictionary<AttrEnum, int>();
|
| | | Dictionary<PropertyType, int> needPointDict = new Dictionary<PropertyType, int>();
|
| | |
|
| | | ItemTipsModel _itemTipsModel;
|
| | | ItemTipsModel itemTipsModel {
|
| | |
| | | needPointDict.Clear();
|
| | | if (itemAttrData.itemConfig.LimitSTR > 0)
|
| | | {
|
| | | needPointDict.Add(AttrEnum.POWER, itemAttrData.itemConfig.LimitSTR);
|
| | | needPointDict.Add(PropertyType.POWER, itemAttrData.itemConfig.LimitSTR);
|
| | | }
|
| | |
|
| | | if (itemAttrData.itemConfig.LimitPHY > 0)
|
| | | {
|
| | | needPointDict.Add(AttrEnum.AGILITY, itemAttrData.itemConfig.LimitPHY);
|
| | | needPointDict.Add(PropertyType.AGILITY, itemAttrData.itemConfig.LimitPHY);
|
| | | }
|
| | |
|
| | | if (itemAttrData.itemConfig.LimitPNE > 0)
|
| | | {
|
| | | needPointDict.Add(AttrEnum.MENTALITY, itemAttrData.itemConfig.LimitPNE);
|
| | | needPointDict.Add(PropertyType.MENTALITY, itemAttrData.itemConfig.LimitPNE);
|
| | | }
|
| | |
|
| | | List<AttrEnum> needlist = needPointDict.Keys.ToList();
|
| | | List<PropertyType> needlist = needPointDict.Keys.ToList();
|
| | |
|
| | | int i = 0;
|
| | | float offset = 0;
|
| | |
| | | offset = needPointDict[needlist[i]] - UIHelper.GetPropertyMapPlayerData(needlist[i]);
|
| | | switch (needlist[i])
|
| | | {
|
| | | case AttrEnum.POWER:
|
| | | case PropertyType.POWER:
|
| | | if (itemAttrData.isHavePutLimit)
|
| | | {
|
| | | SetNeedPointUI(needPointDict[needlist[i]], offset, needPointTextlist[i], needPointNumlist[i], Language.Get("KnapS113"));
|
| | |
| | | SetNeedPointUI(1, 0, needPointTextlist[i], needPointNumlist[i], Language.Get("KnapS113"));
|
| | | }
|
| | | break;
|
| | | case AttrEnum.AGILITY:
|
| | | case PropertyType.AGILITY:
|
| | | if (itemAttrData.isHavePutLimit)
|
| | | {
|
| | | SetNeedPointUI(needPointDict[needlist[i]], offset, needPointTextlist[i], needPointNumlist[i], Language.Get("KnapS112"));
|
| | |
| | | }
|
| | |
|
| | | break;
|
| | | case AttrEnum.MENTALITY:
|
| | | case PropertyType.MENTALITY:
|
| | | if (itemAttrData.isHavePutLimit)
|
| | | {
|
| | | SetNeedPointUI(needPointDict[needlist[i]], offset, needPointTextlist[i], needPointNumlist[i], Language.Get("KnapS111"));
|
| | |
| | | [SerializeField]
|
| | | CanvasGroup tipAlpha;
|
| | |
|
| | | Dictionary<AttrEnum, int> needPointDict = new Dictionary<AttrEnum, int>();
|
| | | Dictionary<PropertyType, int> needPointDict = new Dictionary<PropertyType, int>();
|
| | |
|
| | | ItemTipsModel _itemTipsModel;
|
| | | ItemTipsModel itemTipsModel
|
| | |
| | | needPointDict.Clear();
|
| | | if (itemAttrData.itemConfig.LimitSTR > 0)
|
| | | {
|
| | | needPointDict.Add(AttrEnum.POWER, itemAttrData.itemConfig.LimitSTR);
|
| | | needPointDict.Add(PropertyType.POWER, itemAttrData.itemConfig.LimitSTR);
|
| | | }
|
| | |
|
| | | if (itemAttrData.itemConfig.LimitPHY > 0)
|
| | | {
|
| | | needPointDict.Add(AttrEnum.AGILITY, itemAttrData.itemConfig.LimitPHY);
|
| | | needPointDict.Add(PropertyType.AGILITY, itemAttrData.itemConfig.LimitPHY);
|
| | | }
|
| | |
|
| | | if (itemAttrData.itemConfig.LimitPNE > 0)
|
| | | {
|
| | | needPointDict.Add(AttrEnum.MENTALITY, itemAttrData.itemConfig.LimitPNE);
|
| | | needPointDict.Add(PropertyType.MENTALITY, itemAttrData.itemConfig.LimitPNE);
|
| | | }
|
| | |
|
| | | List<AttrEnum> needlist = needPointDict.Keys.ToList();
|
| | | List<PropertyType> needlist = needPointDict.Keys.ToList();
|
| | |
|
| | | int i = 0;
|
| | | float offset = 0;
|
| | |
| | | offset = needPointDict[needlist[i]] - UIHelper.GetPropertyMapPlayerData(needlist[i]);
|
| | | switch (needlist[i])
|
| | | {
|
| | | case AttrEnum.POWER:
|
| | | case PropertyType.POWER:
|
| | | if (itemAttrData.isHavePutLimit)
|
| | | {
|
| | | SetNeedPointUI(needPointDict[needlist[i]], offset, needPointTextlist[i], needPointNumlist[i], Language.Get("KnapS113"));
|
| | |
| | | SetNeedPointUI(1, 0, needPointTextlist[i], needPointNumlist[i], Language.Get("KnapS113"));
|
| | | }
|
| | | break;
|
| | | case AttrEnum.AGILITY:
|
| | | case PropertyType.AGILITY:
|
| | | if (itemAttrData.isHavePutLimit)
|
| | | {
|
| | | SetNeedPointUI(needPointDict[needlist[i]], offset, needPointTextlist[i], needPointNumlist[i], Language.Get("KnapS112"));
|
| | |
| | | }
|
| | |
|
| | | break;
|
| | | case AttrEnum.MENTALITY:
|
| | | case PropertyType.MENTALITY:
|
| | | if (itemAttrData.isHavePutLimit)
|
| | | {
|
| | | SetNeedPointUI(needPointDict[needlist[i]], offset, needPointTextlist[i], needPointNumlist[i], Language.Get("KnapS111"));
|
| | |
| | | /// </summary> |
| | | /// <param name="itemId"></param> |
| | | /// <returns></returns> |
| | | private Dictionary<AttrEnum, float> curEquipAttrDict = new Dictionary<AttrEnum, float>(); //存储当前装备属性对应的数值 key 属性 value 属性值 |
| | | private Dictionary<PropertyType, float> curEquipAttrDict = new Dictionary<PropertyType, float>(); //存储当前装备属性对应的数值 key 属性 value 属性值 |
| | | private int CalculateEquipScore(PackType type, int itemId, EquipSorceProperties properties) |
| | | { |
| | | var config = ItemConfig.Get(itemId); |
| | |
| | | var GSProValueDict = EquipGSParamConfig.GetTagGsProValueDict(config.LV, config.ItemColor, config.StarLevel); |
| | | foreach (var key in properties.Keys) |
| | | { |
| | | var attrType = (AttrEnum)key; |
| | | var attrType = (PropertyType)key; |
| | | switch (attrType) |
| | | { |
| | | case AttrEnum.ATKSPEED: |
| | | case AttrEnum.OnlyFinalHurt: |
| | | case AttrEnum.PVPAtkBackHP: |
| | | case PropertyType.ATKSPEED: |
| | | case PropertyType.OnlyFinalHurt: |
| | | case PropertyType.PVPAtkBackHP: |
| | | curEquipAttrDict.Add(attrType, properties[key]); |
| | | break; |
| | | default: |
| | |
| | | |
| | | private void ConvertAttrId(int attrId, int attrValue, Dictionary<int, int> keyValues) |
| | | { |
| | | switch ((AttrEnum)attrId) |
| | | switch ((PropertyType)attrId) |
| | | { |
| | | case AttrEnum.ATK: |
| | | if (!keyValues.ContainsKey((int)AttrEnum.MinAtk)) |
| | | case PropertyType.ATK: |
| | | if (!keyValues.ContainsKey((int)PropertyType.MinAtk)) |
| | | { |
| | | keyValues.Add(((int)AttrEnum.MinAtk), attrValue); |
| | | keyValues.Add(((int)PropertyType.MinAtk), attrValue); |
| | | } |
| | | else |
| | | { |
| | | keyValues[(int)AttrEnum.MinAtk] += attrValue; |
| | | keyValues[(int)PropertyType.MinAtk] += attrValue; |
| | | } |
| | | |
| | | if (!keyValues.ContainsKey((int)AttrEnum.MaxAtk)) |
| | | if (!keyValues.ContainsKey((int)PropertyType.MaxAtk)) |
| | | { |
| | | keyValues.Add(((int)AttrEnum.MaxAtk), attrValue); |
| | | keyValues.Add(((int)PropertyType.MaxAtk), attrValue); |
| | | } |
| | | else |
| | | { |
| | | keyValues[(int)AttrEnum.MaxAtk] += attrValue; |
| | | keyValues[(int)PropertyType.MaxAtk] += attrValue; |
| | | } |
| | | break; |
| | | default: |
| | |
| | | if (playerProModel != null)
|
| | | {
|
| | | string s = "";
|
| | | switch ((AttrEnum)idlist[i])
|
| | | switch ((PropertyType)idlist[i])
|
| | | {
|
| | | case AttrEnum.OnlyFinalHurt:
|
| | | case PropertyType.OnlyFinalHurt:
|
| | | s = Language.Get("EquipTip_ExtraDamage", GetExhaustedAttrValue(idlist[i], valuelist[i]), GetExhaustedMaxLv(attrData.itemConfig.LV), valuelist[i]);
|
| | | break;
|
| | | case AttrEnum.PVPAtkBackHP:
|
| | | case PropertyType.PVPAtkBackHP:
|
| | | s = Language.Get("EquipTip_ExtraHpBack", GetExhaustedAttrValue(idlist[i], valuelist[i]), GetExhaustedMaxLv(attrData.itemConfig.LV), valuelist[i]);
|
| | | break;
|
| | | }
|
| | |
| | | attrName = "";
|
| | | attrValueStr = "";
|
| | | PlayerPropertyConfig playerProModel = null;
|
| | | if (attrId == (int)AttrEnum.MaxAtk || attrId == (int)AttrEnum.PetMaxAtk)
|
| | | if (attrId == (int)PropertyType.MaxAtk || attrId == (int)PropertyType.PetMaxAtk)
|
| | | {
|
| | | playerProModel = PlayerPropertyConfig.Get((int)AttrEnum.ATK);
|
| | | playerProModel = PlayerPropertyConfig.Get((int)PropertyType.ATK);
|
| | | }
|
| | | else
|
| | | {
|
| | |
| | | foreach (var attrId in itemEffectDict.Keys)
|
| | | {
|
| | | var attrValue = itemEffectDict[attrId];
|
| | | switch ((AttrEnum)attrId)
|
| | | switch ((PropertyType)attrId)
|
| | | {
|
| | | case AttrEnum.ATK:
|
| | | case PropertyType.ATK:
|
| | | atk += attrValue;
|
| | | break;
|
| | | case AttrEnum.HP:
|
| | | case PropertyType.HP:
|
| | | hp += attrValue;
|
| | | break;
|
| | | case AttrEnum.DEF:
|
| | | case PropertyType.DEF:
|
| | | def += attrValue;
|
| | | break;
|
| | | case AttrEnum.HorseAtkPer:
|
| | | case PropertyType.HorseAtkPer:
|
| | | float mountAtk = mountDatas.GetAllMountAttack();
|
| | | atk += Mathf.RoundToInt(mountAtk * ((float)attrValue / 10000));
|
| | | break;
|
| | | case AttrEnum.StoneBasePer:
|
| | | case PropertyType.StoneBasePer:
|
| | | var stoneDict = GetStoneAttrDict();
|
| | | foreach (var key in stoneDict.Keys)
|
| | | {
|
| | | var stoneValue = stoneDict[key];
|
| | | switch ((AttrEnum)key)
|
| | | switch ((PropertyType)key)
|
| | | {
|
| | | case AttrEnum.ATK:
|
| | | case PropertyType.ATK:
|
| | | atk += Mathf.RoundToInt(stoneValue * ((float)attrValue / 10000));
|
| | | break;
|
| | | case AttrEnum.HP:
|
| | | case PropertyType.HP:
|
| | | hp += Mathf.RoundToInt(stoneValue * ((float)attrValue / 10000));
|
| | | break;
|
| | | case AttrEnum.DEF:
|
| | | case PropertyType.DEF:
|
| | | def += Mathf.RoundToInt(stoneValue * ((float)attrValue / 10000));
|
| | | break;
|
| | | }
|
| | | }
|
| | | break;
|
| | | case AttrEnum.RealmBasePer:
|
| | | case PropertyType.RealmBasePer:
|
| | | var realmDict = GetRealmAttrDict();
|
| | | foreach (var key in realmDict.Keys)
|
| | | {
|
| | | var realmValue = realmDict[key];
|
| | | switch ((AttrEnum)key)
|
| | | switch ((PropertyType)key)
|
| | | {
|
| | | case AttrEnum.ATK:
|
| | | case PropertyType.ATK:
|
| | | atk += Mathf.RoundToInt(realmValue * ((float)attrValue / 10000));
|
| | | break;
|
| | | case AttrEnum.HP:
|
| | | case PropertyType.HP:
|
| | | hp += Mathf.RoundToInt(realmValue * ((float)attrValue / 10000));
|
| | | break;
|
| | | case AttrEnum.DEF:
|
| | | case PropertyType.DEF:
|
| | | def += Mathf.RoundToInt(realmValue * ((float)attrValue / 10000));
|
| | | break;
|
| | | }
|
| | | }
|
| | | break;
|
| | | case AttrEnum.PetSkillAtkRate:
|
| | | case PropertyType.PetSkillAtkRate:
|
| | | break;
|
| | | case AttrEnum.PlusBaseAtkPer:
|
| | | case PropertyType.PlusBaseAtkPer:
|
| | | var strengthDict = GetStrengthAttrDict();
|
| | | if (strengthDict.ContainsKey((int)AttrEnum.ATK))
|
| | | if (strengthDict.ContainsKey((int)PropertyType.ATK))
|
| | | {
|
| | | var strengthValue = strengthDict[(int)AttrEnum.ATK];
|
| | | var strengthValue = strengthDict[(int)PropertyType.ATK];
|
| | | atk += Mathf.RoundToInt(strengthValue * ((float)attrValue / 10000));
|
| | | }
|
| | | break;
|
| | |
| | |
|
| | | if (atk > 0)
|
| | | {
|
| | | attrDict.Add((int)AttrEnum.ATK, atk);
|
| | | attrDict.Add((int)PropertyType.ATK, atk);
|
| | | }
|
| | |
|
| | | if (def > 0)
|
| | | {
|
| | | attrDict.Add((int)AttrEnum.DEF, def);
|
| | | attrDict.Add((int)PropertyType.DEF, def);
|
| | | }
|
| | |
|
| | | if (hp > 0)
|
| | | {
|
| | | attrDict.Add((int)AttrEnum.HP, hp);
|
| | | attrDict.Add((int)PropertyType.HP, hp);
|
| | | }
|
| | |
|
| | | fightPower = UIHelper.GetFightPower(attrDict);
|
| | |
| | | string minAtkValue = "";
|
| | | attrNamelist[code].gameObject.SetActive(true);
|
| | | attrValuelist[code].gameObject.SetActive(true);
|
| | | switch ((AttrEnum)attrIdlist[i])
|
| | | switch ((PropertyType)attrIdlist[i])
|
| | | {
|
| | | case AttrEnum.MinAtk:
|
| | | case PropertyType.MinAtk:
|
| | | break;
|
| | | case AttrEnum.PetMinAtk:
|
| | | case PropertyType.PetMinAtk:
|
| | | break;
|
| | | case AttrEnum.PetMaxAtk:
|
| | | case AttrEnum.MaxAtk:
|
| | | case PropertyType.PetMaxAtk:
|
| | | case PropertyType.MaxAtk:
|
| | | tipsModel.SetPetAttrStr(attrIdlist[i - 1], itemEffectDict[attrIdlist[i - 1]], out minAtkName, out minAtkValue);
|
| | | tipsModel.SetPetAttrStr(attrIdlist[i], itemEffectDict[attrIdlist[i]], out attrName, out attrValue, minAtkValue);
|
| | | code += 1;
|
| | |
| | |
|
| | | public static ItemModel itemModel = null;
|
| | | private ItemConfig itemConfig = null;
|
| | | private AttrEnum selectAttr = AttrEnum.POWER;
|
| | | private PropertyType selectAttr = PropertyType.POWER;
|
| | |
|
| | | float washPoint = 0;
|
| | |
|
| | |
| | | {
|
| | | if (strenToggle.isOn)
|
| | | {
|
| | | selectAttr = AttrEnum.POWER;
|
| | | selectAttr = PropertyType.POWER;
|
| | | }
|
| | | else if (agilityToggle.isOn)
|
| | | {
|
| | | selectAttr = AttrEnum.AGILITY;
|
| | | selectAttr = PropertyType.AGILITY;
|
| | | }
|
| | | else if (physiqueToggle.isOn)
|
| | | {
|
| | | selectAttr = AttrEnum.PHYSIQUE;
|
| | | selectAttr = PropertyType.PHYSIQUE;
|
| | | }
|
| | | else if (mentAlityToggle.isOn)
|
| | | {
|
| | | selectAttr = AttrEnum.MENTALITY;
|
| | | selectAttr = PropertyType.MENTALITY;
|
| | | }
|
| | | }
|
| | |
|
| | | private void RefreshWashAttrDes()
|
| | | {
|
| | | var model = ModelCenter.Instance.GetModel<RolePointModel>();
|
| | | Dictionary<int, int> dict = null;
|
| | | bool isContain = model.TryGetPointInit(PlayerDatas.Instance.baseData.Job,out dict);
|
| | | float initPoint = 0;
|
| | | if(isContain && dict.ContainsKey((int)selectAttr))
|
| | | {
|
| | | initPoint = dict[(int)selectAttr];
|
| | | }
|
| | | switch (selectAttr)
|
| | | {
|
| | | case AttrEnum.POWER:
|
| | | washPoint = PlayerDatas.Instance.GetPlayerDataByType(PlayerDataType.BaseSTR) - initPoint;
|
| | | break;
|
| | | case AttrEnum.AGILITY:
|
| | | washPoint = PlayerDatas.Instance.GetPlayerDataByType(PlayerDataType.BasePHY) - initPoint;
|
| | | break;
|
| | | case AttrEnum.PHYSIQUE:
|
| | | washPoint = PlayerDatas.Instance.GetPlayerDataByType(PlayerDataType.BaseCON) - initPoint;
|
| | | break;
|
| | | case AttrEnum.MENTALITY:
|
| | | washPoint = PlayerDatas.Instance.GetPlayerDataByType(PlayerDataType.BasePNE) - initPoint;
|
| | | break;
|
| | | }
|
| | |
|
| | | var model = ModelCenter.Instance.GetModel<ReikiRootModel>();
|
| | | washPoint = model.GetReikiRootFreePoint((int)selectAttr);
|
| | | PlayerPropertyConfig propertyConfig = PlayerPropertyConfig.Get((int)selectAttr);
|
| | | washAttrDesText.text = Language.Get("BagWin_Washpoint2", propertyConfig.Name, UIHelper.GetPropertyMapPlayerData(selectAttr), washPoint);
|
| | | }
|
| | |
| | | }
|
| | | float addHp = 0;
|
| | | float addAtk = 0;
|
| | | if (addAttrDict510.ContainsKey((int)AttrEnum.HP))
|
| | | if (addAttrDict510.ContainsKey((int)PropertyType.HP))
|
| | | {
|
| | | addHp += addAttrDict510[(int)AttrEnum.HP];
|
| | | addHp += addAttrDict510[(int)PropertyType.HP];
|
| | | }
|
| | | if (addAttrDict511.ContainsKey((int)AttrEnum.HP))
|
| | | if (addAttrDict511.ContainsKey((int)PropertyType.HP))
|
| | | {
|
| | | addHp += addAttrDict511[(int)AttrEnum.HP];
|
| | | addHp += addAttrDict511[(int)PropertyType.HP];
|
| | | }
|
| | |
|
| | | if (addAttrDict510.ContainsKey((int)AttrEnum.ATK))
|
| | | if (addAttrDict510.ContainsKey((int)PropertyType.ATK))
|
| | | {
|
| | | addAtk += addAttrDict510[(int)AttrEnum.ATK];
|
| | | addAtk += addAttrDict510[(int)PropertyType.ATK];
|
| | | }
|
| | | if (addAttrDict511.ContainsKey((int)AttrEnum.ATK))
|
| | | if (addAttrDict511.ContainsKey((int)PropertyType.ATK))
|
| | | {
|
| | | addAtk += addAttrDict511[(int)AttrEnum.ATK];
|
| | | addAtk += addAttrDict511[(int)PropertyType.ATK];
|
| | | }
|
| | | m_HpTxt.text = ((int)(_HPP /*+ dicStone[6]*/ + addHp)).ToString();
|
| | | m_AtkTxt.text = ((int)(_AttT /*+ dicStone[7]*/ + addAtk)).ToString();
|
| | |
| | | sumFight += _scoreNumAll;
|
| | | }
|
| | | allFightText.text = (sumFight + InitFightPower).ToString();
|
| | | attackSpeed.text = ((float)UIHelper.GetPropertyMapPlayerData(AttrEnum.ATKSPEED) / 100).ToString();
|
| | | attackSpeed.text = ((float)UIHelper.GetPropertyMapPlayerData(PropertyType.ATKSPEED) / 100).ToString();
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | m_Property_Text.text = Language.Get("SpiritPetAttribute_Z");
|
| | | curPetHitText.text = _tagPetClass.AtkAdd.ToString();//攻击力
|
| | | m_LVtext.text = _PetBackpack.PetClass + Language.Get("Z1041");
|
| | | float AtkNum = (float)UIHelper.GetPropertyMapPlayerData(AttrEnum.ATKSPEED) / 100;
|
| | | float AtkNum = (float)UIHelper.GetPropertyMapPlayerData(PropertyType.ATKSPEED) / 100;
|
| | | curPetAttackSpeedText.text = ((float)Math.Round(AtkNum, 1)).ToString();
|
| | |
|
| | | PetInfoConfig config = PetInfoConfig.Get(petmodel.curPetId);
|
| | |
| | |
|
| | | public const int FUNCTION = 36;
|
| | |
|
| | | public readonly Redpoint redpoint = new Redpoint(10101, 1010101); |
| | |
|
| | | public event Action onCacheFreePointRefresh;
|
| | | public event Action onReikiRootPointRefresh;
|
| | |
|
| | |
| | | m_RecommendReikiRoots.Add(job, new List<int>(m_RecommendProportion[job].Keys));
|
| | | }
|
| | |
|
| | | reikiRoots.Add((int)AttrEnum.Mater);
|
| | | reikiRoots.Add((int)AttrEnum.Wood);
|
| | | reikiRoots.Add((int)AttrEnum.Water);
|
| | | reikiRoots.Add((int)AttrEnum.Fire);
|
| | | reikiRoots.Add((int)AttrEnum.Earth);
|
| | | var config = ReikiRootConfig.GetValues()[0];
|
| | | maxQuality = config.qualityArea.Length;
|
| | |
|
| | | reikiRoots.Add((int)PropertyType.Mater);
|
| | | reikiRoots.Add((int)PropertyType.Wood);
|
| | | reikiRoots.Add((int)PropertyType.Water);
|
| | | reikiRoots.Add((int)PropertyType.Fire);
|
| | | reikiRoots.Add((int)PropertyType.Earth);
|
| | |
|
| | | }
|
| | |
|
| | |
| | |
|
| | | public int GetReikiRootQuality(int id)
|
| | | {
|
| | | if (m_ReikiRootPoints.ContainsKey(id))
|
| | | {
|
| | | return GetReikiRootQuality(id, m_ReikiRootPoints[id]);
|
| | | }
|
| | | return GetReikiRootQuality(id, 0);
|
| | | return GetReikiRootQuality(id, GetReikiRootPoint(id));
|
| | | }
|
| | |
|
| | | public int GetReikiRootPoint(int id)
|
| | |
| | | if (m_RecommendReikiRoots.ContainsKey(job))
|
| | | {
|
| | | var reikiRoots = m_RecommendReikiRoots[job];
|
| | | reikiRoots.Sort(QualityCompare);
|
| | | while (remainPoint > 0)
|
| | | {
|
| | | reikiRoots.Sort(QualityCompare);
|
| | | var id = reikiRoots[0];
|
| | | var quality = GetReikiRootQuality(id, m_CacheReikiRootPoints[id]);
|
| | | var addpoint = 0;
|
| | |
| | | {
|
| | | propertyDict.Add(config.propertyPerPoint.x, 0);
|
| | | }
|
| | | propertyDict[config.propertyPerPoint.x] += config.propertyPerPoint.y;
|
| | | propertyDict[config.propertyPerPoint.x] += config.propertyPerPoint.y * point;
|
| | |
|
| | | if (!propertyDict.ContainsKey(config.promoteProperty))
|
| | | {
|
| | |
| | |
|
| | | int QualityCompare(int lhs, int rhs)
|
| | | {
|
| | | var lhsQuality = GetReikiRootQuality(lhs);
|
| | | var rhsQuality = GetReikiRootQuality(rhs);
|
| | | if (mainReikiRoot == lhs || mainReikiRoot == rhs)
|
| | | var lhsQuality = GetReikiRootQuality(lhs, GetReikiRootCachePoint(lhs));
|
| | | var rhsQuality = GetReikiRootQuality(rhs, GetReikiRootCachePoint(rhs));
|
| | | if (lhs != rhs)
|
| | | {
|
| | | if (lhsQuality == rhsQuality)
|
| | | if (mainReikiRoot == lhs || mainReikiRoot == rhs)
|
| | | {
|
| | | return mainReikiRoot == lhs ? -1 : 1;
|
| | | if (lhsQuality == rhsQuality)
|
| | | {
|
| | | return mainReikiRoot == lhs ? -1 : 1;
|
| | | }
|
| | | }
|
| | | }
|
| | | return lhsQuality.CompareTo(rhsQuality);
|
| | |
| | | case PlayerDataType.CDBPlayerRefresh_Earth:
|
| | | RefreshReikiRootPoint();
|
| | | break;
|
| | | case PlayerDataType.FreePoint:
|
| | | RefreshRedpoint();
|
| | | break;
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | {
|
| | | foreach (var id in reikiRoots)
|
| | | {
|
| | | m_ReikiRootPoints[id] = (int)UIHelper.GetPropertyMapPlayerData((AttrEnum)id);
|
| | | m_ReikiRootPoints[id] = (int)UIHelper.GetPropertyMapPlayerData((PropertyType)id);
|
| | | }
|
| | | if (onReikiRootPointRefresh != null)
|
| | | {
|
| | | onReikiRootPointRefresh();
|
| | | }
|
| | | }
|
| | |
|
| | | void RefreshRedpoint()
|
| | | {
|
| | | var existFreePoint = false;
|
| | | if (FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.ReikiRoot))
|
| | | {
|
| | | existFreePoint = freePoint > 0;
|
| | | }
|
| | | redpoint.state = existFreePoint ? RedPointState.Simple : RedPointState.None;
|
| | | }
|
| | | }
|
| | |
|
| | | public struct ReikiRootRecommend
|
| | |
| | | var propertyConfig = PlayerPropertyConfig.Get(id);
|
| | | m_PropertyName.text = propertyConfig.Name;
|
| | | var qualiaty = model.GetReikiRootQuality(id);
|
| | | m_PropertyName.color = UIHelper.GetUIColor(qualiaty);
|
| | | m_PropertyValue.text = ((int)UIHelper.GetPropertyMapPlayerData((AttrEnum)id)).ToString();
|
| | | m_PropertyName.color = UIHelper.GetUIColor(qualiaty, true);
|
| | | m_PropertyValue.text = UIHelper.GetPropertyMapPlayerData((PropertyType)id).ToString();
|
| | | }
|
| | |
|
| | | void DisplayPoint()
|
| | |
| | | case ScrollerDataType.Header:
|
| | | {
|
| | | Text text = cell.transform.Find("Text").GetComponent<Text>();
|
| | | if ((AttrEnum)cfg.ID == AttrEnum.ATK)
|
| | | if ((PropertyType)cfg.ID == PropertyType.ATK)
|
| | | {
|
| | | text.text = StringUtility.Contact(cfg.Name, " ", "<color=#109d06>", UIHelper.ReplaceLargeNum(PlayerDatas.Instance.extersion.MINATK), "-", UIHelper.ReplaceLargeNum(PlayerDatas.Instance.extersion.MAXATK), "</color>");
|
| | | return;
|
| | | }
|
| | | else if ((AttrEnum)cfg.ID == AttrEnum.PetHurt)
|
| | | else if ((PropertyType)cfg.ID == PropertyType.PetHurt)
|
| | | {
|
| | | if (petmodel.MaxAtkNunber == 0)
|
| | | {
|
| | |
| | | }
|
| | | return;
|
| | | }
|
| | | text.text = StringUtility.Contact(cfg.Name, " ", "<color=#109d06>", UIHelper.ReplaceLargeNum(UIHelper.ReplacePercentage(UIHelper.GetPropertyMapPlayerData((AttrEnum)cfg.ID), cfg.ISPercentage)), cfg.ISPercentage == 1 ? "%" : string.Empty, "</color>");
|
| | | text.text = StringUtility.Contact(cfg.Name, " ", "<color=#109d06>", UIHelper.ReplaceLargeNum(UIHelper.ReplacePercentage(UIHelper.GetPropertyMapPlayerData((PropertyType)cfg.ID), cfg.ISPercentage)), cfg.ISPercentage == 1 ? "%" : string.Empty, "</color>");
|
| | | }
|
| | | break;
|
| | | case ScrollerDataType.Normal:
|
| | |
| | |
|
| | | private void OnPromoteClick()
|
| | | {
|
| | | if (FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.AddPoint))
|
| | | if (FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.ReikiRoot))
|
| | | {
|
| | | WindowCenter.Instance.Open<RolePointWin>();
|
| | | WindowCenter.Instance.Open<ReikiRootWin>();
|
| | | }
|
| | | else
|
| | | {
|
| | | FuncOpen.Instance.ProcessorFuncErrorTip((int)FuncOpenEnum.AddPoint);
|
| | | FuncOpen.Instance.ProcessorFuncErrorTip((int)FuncOpenEnum.ReikiRoot);
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | void OnUpdateBasicAttr()
|
| | | {
|
| | | m_PropertyAtk.text = StringUtility.Contact(ReplaceLargeNum((ulong)PlayerDatas.Instance.extersion.MINATK), "-", ReplaceLargeNum((ulong)PlayerDatas.Instance.extersion.MAXATK));
|
| | | m_PropertyHp.text = GetAttrStr(AttrEnum.HP);
|
| | | m_PropertyHit.text = GetAttrStr(AttrEnum.HIT);
|
| | | m_PropertyDef.text = GetAttrStr(AttrEnum.DEF);
|
| | | m_PropertyDodge.text = GetAttrStr(AttrEnum.MISS);
|
| | | m_PropertyHp.text = GetAttrStr(PropertyType.HP);
|
| | | m_PropertyHit.text = GetAttrStr(PropertyType.HIT);
|
| | | m_PropertyDef.text = GetAttrStr(PropertyType.DEF);
|
| | | m_PropertyDodge.text = GetAttrStr(PropertyType.MISS);
|
| | | }
|
| | |
|
| | | void OnUpdateSpecialAttr()
|
| | | {
|
| | | m_PropertyAtkSpeed.text = GetAttrStr(AttrEnum.ATKSPEED);
|
| | | m_PropertyMoveSpeed.text = GetAttrStr(AttrEnum.MoveSpeed);
|
| | | m_PropertyRealHurt.text = GetAttrStr(AttrEnum.RealHurt);
|
| | | m_PropertyRealDef.text = GetAttrStr(AttrEnum.RealResis);
|
| | | m_PropertyExtraHurt.text = GetAttrStr(AttrEnum.AddHurt);
|
| | | m_PropertyReduceHurt.text = GetAttrStr(AttrEnum.ReduceHurt);
|
| | | m_PropertyCritOdd.text = GetAttrStr(AttrEnum.CritChance);
|
| | | m_PropertyCritHurt.text = GetAttrStr(AttrEnum.CritHurt);
|
| | | m_PropertyCritHurtOdd.text = GetAttrStr(AttrEnum.HeartHit);
|
| | | m_PropertyCritHitHurt.text = GetAttrStr(AttrEnum.HeartHurt);
|
| | | m_PropertyAtkSpeed.text = GetAttrStr(PropertyType.ATKSPEED);
|
| | | m_PropertyMoveSpeed.text = GetAttrStr(PropertyType.MoveSpeed);
|
| | | m_PropertyRealHurt.text = GetAttrStr(PropertyType.RealHurt);
|
| | | m_PropertyRealDef.text = GetAttrStr(PropertyType.RealResis);
|
| | | m_PropertyExtraHurt.text = GetAttrStr(PropertyType.AddHurt);
|
| | | m_PropertyReduceHurt.text = GetAttrStr(PropertyType.ReduceHurt);
|
| | | m_PropertyCritOdd.text = GetAttrStr(PropertyType.CritChance);
|
| | | m_PropertyCritHurt.text = GetAttrStr(PropertyType.CritHurt);
|
| | | m_PropertyCritHurtOdd.text = GetAttrStr(PropertyType.HeartHit);
|
| | | m_PropertyCritHitHurt.text = GetAttrStr(PropertyType.HeartHurt);
|
| | | }
|
| | |
|
| | | private string GetAttrStr(AttrEnum type)
|
| | | private string GetAttrStr(PropertyType type)
|
| | | {
|
| | | PlayerPropertyConfig cfg = PlayerPropertyConfig.Get((int)type);
|
| | | float value = UIHelper.GetPropertyMapPlayerData(type);
|
| | |
| | | int[] values = horseUpConfig.AttrValue;
|
| | | for (int i = 0; i < propertys.Length; i++)
|
| | | {
|
| | | if (propertys[i] == (int)AttrEnum.ATK || propertys[i] == (int)AttrEnum.HP)
|
| | | if (propertys[i] == (int)PropertyType.ATK || propertys[i] == (int)PropertyType.HP)
|
| | | {
|
| | | if (!dict.ContainsKey(propertys[i]))
|
| | | {
|
| | |
| | | }
|
| | | else
|
| | | {
|
| | | if (propertys[k] == (int)AttrEnum.MoveSpeed)
|
| | | if (propertys[k] == (int)PropertyType.MoveSpeed)
|
| | | {
|
| | | if (values[k] > propertyDict[propertys[k]])
|
| | | {
|
| | |
| | |
|
| | | RoleModel roleModel { get { return ModelCenter.Instance.GetModel<RoleModel>(); } }
|
| | |
|
| | | RolePointModel rolePointModel { get { return ModelCenter.Instance.GetModel<RolePointModel>(); } }
|
| | | ReikiRootModel reikiRootModel { get { return ModelCenter.Instance.GetModel<ReikiRootModel>(); } }
|
| | |
|
| | | #region 配置
|
| | | public Dictionary<int, int> wingLv2GenerDict = new Dictionary<int, int>();
|
| | |
| | | _id == methodData.fairyHeartRedpoint.id ||
|
| | | _id == realmModel.levelUpRedpoint.id ||
|
| | | _id == equipGemModel.redpoint.id ||
|
| | | _id == rolePointModel.redpoint.id)
|
| | | _id == reikiRootModel.redpoint.id)
|
| | | {
|
| | | CheckPromoteDetailEffect();
|
| | | }
|
| | |
| | | var dict = ItemLogicUtility.Instance.CheckBetterEquipByRealm();
|
| | | return dict != null && dict.Count > 0;
|
| | | case PromoteDetailType.AddPoint:
|
| | | return rolePointModel.redpoint.state == RedPointState.Simple;
|
| | | return reikiRootModel.redpoint.state == RedPointState.Simple;
|
| | | case PromoteDetailType.EquipStrength:
|
| | | return false;
|
| | | case PromoteDetailType.Mount:
|
| | |
| | | if (requireProperty != 0)
|
| | | {
|
| | | var requirePropertyValue = skillConfig.RequirePropertyValue();
|
| | | if (UIHelper.GetPropertyMapPlayerData((AttrEnum)requireProperty) < requirePropertyValue)
|
| | | if (UIHelper.GetPropertyMapPlayerData((PropertyType)requireProperty) < requirePropertyValue)
|
| | | {
|
| | | error = 5;
|
| | | return false;
|
| | |
| | | {
|
| | | m_SelectConditions[index].gameObject.SetActive(true);
|
| | | var requirePropertyValue = skillConfig.RequirePropertyValue();
|
| | | var propertyValue = UIHelper.GetPropertyMapPlayerData((AttrEnum)requireProperty);
|
| | | var propertyValue = UIHelper.GetPropertyMapPlayerData((PropertyType)requireProperty);
|
| | | var requireDisplay = StringUtility.Contact(propertyValue, "/", requirePropertyValue);
|
| | | requireDisplay = UIHelper.AppendColor(propertyValue >= requirePropertyValue ?
|
| | | TextColType.Green : TextColType.Red, requireDisplay);
|
| | |
| | | [SerializeField]
|
| | | CanvasGroup tipAlpha;
|
| | |
|
| | | Dictionary<AttrEnum, int> needPointDict = new Dictionary<AttrEnum, int>();
|
| | | Dictionary<PropertyType, int> needPointDict = new Dictionary<PropertyType, int>();
|
| | |
|
| | | ItemTipsModel _itemTipsModel;
|
| | | ItemTipsModel itemTipsModel
|
| | |
| | | needPointDict.Clear();
|
| | | if (itemAttrData.itemConfig.LimitSTR > 0)
|
| | | {
|
| | | needPointDict.Add(AttrEnum.POWER, itemAttrData.itemConfig.LimitSTR);
|
| | | needPointDict.Add(PropertyType.POWER, itemAttrData.itemConfig.LimitSTR);
|
| | | }
|
| | |
|
| | | if (itemAttrData.itemConfig.LimitPHY > 0)
|
| | | {
|
| | | needPointDict.Add(AttrEnum.AGILITY, itemAttrData.itemConfig.LimitPHY);
|
| | | needPointDict.Add(PropertyType.AGILITY, itemAttrData.itemConfig.LimitPHY);
|
| | | }
|
| | |
|
| | | if (itemAttrData.itemConfig.LimitPNE > 0)
|
| | | {
|
| | | needPointDict.Add(AttrEnum.MENTALITY, itemAttrData.itemConfig.LimitPNE);
|
| | | needPointDict.Add(PropertyType.MENTALITY, itemAttrData.itemConfig.LimitPNE);
|
| | | }
|
| | |
|
| | | List<AttrEnum> needlist = needPointDict.Keys.ToList();
|
| | | List<PropertyType> needlist = needPointDict.Keys.ToList();
|
| | |
|
| | | int i = 0;
|
| | | float offset = 0;
|
| | |
| | | offset = needPointDict[needlist[i]] - UIHelper.GetPropertyMapPlayerData(needlist[i]);
|
| | | switch (needlist[i])
|
| | | {
|
| | | case AttrEnum.POWER:
|
| | | case PropertyType.POWER:
|
| | | if (itemAttrData.isHavePutLimit)
|
| | | {
|
| | | SetNeedPointUI(needPointDict[needlist[i]], offset, needPointTextlist[i], needPointNumlist[i], Language.Get("KnapS113"));
|
| | |
| | | SetNeedPointUI(1, 0, needPointTextlist[i], needPointNumlist[i], Language.Get("KnapS113"));
|
| | | }
|
| | | break;
|
| | | case AttrEnum.AGILITY:
|
| | | case PropertyType.AGILITY:
|
| | | if (itemAttrData.isHavePutLimit)
|
| | | {
|
| | | SetNeedPointUI(needPointDict[needlist[i]], offset, needPointTextlist[i], needPointNumlist[i], Language.Get("KnapS112"));
|
| | |
| | | }
|
| | |
|
| | | break;
|
| | | case AttrEnum.MENTALITY:
|
| | | case PropertyType.MENTALITY:
|
| | | if (itemAttrData.isHavePutLimit)
|
| | | {
|
| | | SetNeedPointUI(needPointDict[needlist[i]], offset, needPointTextlist[i], needPointNumlist[i], Language.Get("KnapS111"));
|
| | |
| | | [SerializeField]
|
| | | CanvasGroup tipAlpha;
|
| | |
|
| | | Dictionary<AttrEnum, int> needPointDict = new Dictionary<AttrEnum, int>();
|
| | | Dictionary<PropertyType, int> needPointDict = new Dictionary<PropertyType, int>();
|
| | |
|
| | | ItemTipsModel _itemTipsModel;
|
| | | ItemTipsModel itemTipsModel
|
| | |
| | |
|
| | | if (itemAttrData.itemConfig.LimitSTR > 0)
|
| | | {
|
| | | needPointDict.Add(AttrEnum.POWER, itemAttrData.itemConfig.LimitSTR);
|
| | | needPointDict.Add(PropertyType.POWER, itemAttrData.itemConfig.LimitSTR);
|
| | | }
|
| | |
|
| | | if (itemAttrData.itemConfig.LimitPHY > 0)
|
| | | {
|
| | | needPointDict.Add(AttrEnum.AGILITY, itemAttrData.itemConfig.LimitPHY);
|
| | | needPointDict.Add(PropertyType.AGILITY, itemAttrData.itemConfig.LimitPHY);
|
| | | }
|
| | |
|
| | | if (itemAttrData.itemConfig.LimitPNE > 0)
|
| | | {
|
| | | needPointDict.Add(AttrEnum.MENTALITY, itemAttrData.itemConfig.LimitPNE);
|
| | | needPointDict.Add(PropertyType.MENTALITY, itemAttrData.itemConfig.LimitPNE);
|
| | | }
|
| | |
|
| | | List<AttrEnum> needlist = needPointDict.Keys.ToList();
|
| | | List<PropertyType> needlist = needPointDict.Keys.ToList();
|
| | |
|
| | | int i = 0;
|
| | | float offset = 0;
|
| | |
| | | offset = needPointDict[needlist[i]] - UIHelper.GetPropertyMapPlayerData(needlist[i]);
|
| | | switch (needlist[i])
|
| | | {
|
| | | case AttrEnum.POWER:
|
| | | case PropertyType.POWER:
|
| | | if(itemAttrData.isHavePutLimit)
|
| | | {
|
| | | SetNeedPointUI(needPointDict[needlist[i]], offset, needPointTextlist[i], needPointNumlist[i], Language.Get("KnapS113"));
|
| | |
| | | SetNeedPointUI(1, 0, needPointTextlist[i], needPointNumlist[i], Language.Get("KnapS113"));
|
| | | }
|
| | | break;
|
| | | case AttrEnum.AGILITY:
|
| | | case PropertyType.AGILITY:
|
| | | if(itemAttrData.isHavePutLimit)
|
| | | {
|
| | | SetNeedPointUI(needPointDict[needlist[i]], offset, needPointTextlist[i], needPointNumlist[i], Language.Get("KnapS112"));
|
| | |
| | | }
|
| | |
|
| | | break;
|
| | | case AttrEnum.MENTALITY:
|
| | | case PropertyType.MENTALITY:
|
| | | if(itemAttrData.isHavePutLimit)
|
| | | {
|
| | | SetNeedPointUI(needPointDict[needlist[i]], offset, needPointTextlist[i], needPointNumlist[i], Language.Get("KnapS111"));
|
| | |
| | | string minAtkValue = "";
|
| | | attrNamelist[code].gameObject.SetActive(true);
|
| | | attrValuelist[code].gameObject.SetActive(true);
|
| | | switch ((AttrEnum)attrIdlist[i])
|
| | | switch ((PropertyType)attrIdlist[i])
|
| | | {
|
| | | case AttrEnum.MinAtk:
|
| | | case PropertyType.MinAtk:
|
| | | break;
|
| | | case AttrEnum.PetMinAtk:
|
| | | case PropertyType.PetMinAtk:
|
| | | break;
|
| | | case AttrEnum.PetMaxAtk:
|
| | | case AttrEnum.MaxAtk:
|
| | | case PropertyType.PetMaxAtk:
|
| | | case PropertyType.MaxAtk:
|
| | | itemTipsModel.SetPetAttrStr(attrIdlist[i - 1], itemEffectDict[attrIdlist[i - 1]], out minAtkName, out minAtkValue);
|
| | | itemTipsModel.SetPetAttrStr(attrIdlist[i], itemEffectDict[attrIdlist[i]], out attrName, out attrValue, minAtkValue);
|
| | | code += 1;
|
| | |
| | | WindowCenter.Instance.Open<KnapSackWin>();
|
| | | break;
|
| | | case RolePromoteModel.PromoteDetailType.AddPoint:
|
| | | WindowCenter.Instance.Open<RolePointWin>();
|
| | | WindowCenter.Instance.Open<ReikiRootWin>();
|
| | | break;
|
| | | case RolePromoteModel.PromoteDetailType.EquipStrength:
|
| | | //WindowCenter.Instance.Open<EquipReinforceWin>();
|
| | |
| | | var _property = treasure.treasureStages[0].propertyDict.First();
|
| | | switch (_property.Key)
|
| | | {
|
| | | case (int)AttrEnum.KillMonsExpPrecent:
|
| | | case (int)PropertyType.KillMonsExpPrecent:
|
| | | m_AddedEffect.text = Language.Get("FairyTreasure_2", _property.Value / 100);
|
| | | break;
|
| | | case (int)AttrEnum.AddHurt:
|
| | | case (int)PropertyType.AddHurt:
|
| | | m_AddedEffect.text = Language.Get("FairyTreasure_3", _property.Value / 100);
|
| | | break;
|
| | | case 60:
|
| | |
| | | RegisterModel<OpenServerActivityNotifyModel>();
|
| | | RegisterModel<FairyFeastModel>();
|
| | | RegisterModel<WishingPoolModel>();
|
| | | RegisterModel<RolePointModel>();
|
| | | RegisterModel<SocialModel>();
|
| | | RegisterModel<ChatBubbleModel>();
|
| | | RegisterModel<AccumulateRechargeModel>();
|
| | |
| | | SetJumpLogic<RealmWin>(_tagWinSearchModel.TABID);
|
| | | break;
|
| | | case JumpUIType.RolePoint:
|
| | | SetJumpLogic<RolePointWin>(_tagWinSearchModel.TABID);
|
| | | SetJumpLogic<ReikiRootWin>(_tagWinSearchModel.TABID);
|
| | | break;
|
| | | case JumpUIType.MainTask:
|
| | | TaskModel taskDatas = ModelCenter.Instance.GetModel<TaskModel>();
|
| | |
| | | SetJumpLogic<KnapSackWin>(_tagWinSearchModel.TABID);
|
| | | break;
|
| | | case JumpUIType.RebornOpenAddPoint:
|
| | | SetJumpLogic<RolePointWin>(_tagWinSearchModel.TABID);
|
| | | SetJumpLogic<ReikiRootWin>(_tagWinSearchModel.TABID);
|
| | | break;
|
| | | case JumpUIType.RebornOpenHourse:
|
| | | SetJumpLogic<PetWin>(_tagWinSearchModel.TABID);
|
| | |
| | | normalTasks.Add(new ConfigInitTask("EquipPlusEvolveConfig", () => { EquipPlusEvolveConfig.Init(); }, () => { return EquipPlusEvolveConfig.inited; })); |
| | | normalTasks.Add(new ConfigInitTask("LegendPropertyValueConfig", () => { LegendPropertyValueConfig.Init(); }, () => { return LegendPropertyValueConfig.inited; })); |
| | | normalTasks.Add(new ConfigInitTask("LegendPropertyConfig", () => { LegendPropertyConfig.Init(); }, () => { return LegendPropertyConfig.inited; })); |
| | | normalTasks.Add(new ConfigInitTask("EquipSuitNameConfig", () => { EquipSuitNameConfig.Init(); }, () => { return EquipSuitNameConfig.inited; })); |
| | | normalTasks.Add(new ConfigInitTask("EquipSuitNameConfig", () => { EquipSuitNameConfig.Init(); }, () => { return EquipSuitNameConfig.inited; }));
|
| | | normalTasks.Add(new ConfigInitTask("ReikiRootConfig", () => { ReikiRootConfig.Init(); }, () => { return ReikiRootConfig.inited; })); |
| | | } |
| | | |
| | | static List<ConfigInitTask> doingTasks = new List<ConfigInitTask>(); |
| | |
| | | EquipDecompose = 123, //装备分解
|
| | | TreasureFindHost = 124, //法宝认主
|
| | | Dogz = 138, //神兽
|
| | | AddPoint = 145,//加点
|
| | | ReikiRoot = 145,//灵根
|
| | | CrossServer = 157, //跨服天梯赛
|
| | | CrossServerBoss = 162,
|
| | | }
|
| | | //属性类型
|
| | | public enum AttrEnum
|
| | | public enum PropertyType
|
| | | {
|
| | | LV = 1,//等级
|
| | | POWER = 2, //力量
|
| | |
| | | /// </summary>
|
| | | /// <param name="type"></param>
|
| | | /// <returns></returns>
|
| | | public static int GetPropertyMapPlayerData(AttrEnum type)
|
| | | public static int GetPropertyMapPlayerData(PropertyType type)
|
| | | {
|
| | | switch (type)
|
| | | {
|
| | | case AttrEnum.LV:
|
| | | case PropertyType.LV:
|
| | | return PlayerDatas.Instance.baseData.LV;
|
| | | case AttrEnum.POWER:
|
| | | case PropertyType.POWER:
|
| | | return PlayerDatas.Instance.baseData.STR;
|
| | | case AttrEnum.AGILITY:
|
| | | case PropertyType.AGILITY:
|
| | | return PlayerDatas.Instance.baseData.PHY;
|
| | | case AttrEnum.PHYSIQUE:
|
| | | case PropertyType.PHYSIQUE:
|
| | | return PlayerDatas.Instance.baseData.CON;
|
| | | case AttrEnum.MENTALITY:
|
| | | case PropertyType.MENTALITY:
|
| | | return PlayerDatas.Instance.baseData.PNE;
|
| | | case AttrEnum.HP:
|
| | | case PropertyType.HP:
|
| | | return (int)PlayerDatas.Instance.extersion.MaxHP;
|
| | | case AttrEnum.ATK:
|
| | | case PropertyType.ATK:
|
| | | return PlayerDatas.Instance.extersion.MAXATK;
|
| | | case AttrEnum.DEF:
|
| | | case PropertyType.DEF:
|
| | | return PlayerDatas.Instance.extersion.DEF;
|
| | | case AttrEnum.HIT:
|
| | | case PropertyType.HIT:
|
| | | return PlayerDatas.Instance.extersion.HIT;
|
| | | case AttrEnum.MISS:
|
| | | case PropertyType.MISS:
|
| | | return PlayerDatas.Instance.extersion.Miss;
|
| | | case AttrEnum.ATKSPEED:
|
| | | case PropertyType.ATKSPEED:
|
| | | return PlayerDatas.Instance.extersion.battleValEx1;
|
| | | case AttrEnum.CritChance:
|
| | | case PropertyType.CritChance:
|
| | | return PlayerDatas.Instance.extersion.SuperHitRate;
|
| | | case AttrEnum.CritHurt:
|
| | | case PropertyType.CritHurt:
|
| | | return PlayerDatas.Instance.extersion.SuperHit;
|
| | | case AttrEnum.CritResis:
|
| | | case PropertyType.CritResis:
|
| | | return PlayerDatas.Instance.extersion.SuperHitReduce;
|
| | | case AttrEnum.HeartHit:
|
| | | case PropertyType.HeartHit:
|
| | | return PlayerDatas.Instance.extersion.luckHitRate;
|
| | | case AttrEnum.HeartHurt:
|
| | | case PropertyType.HeartHurt:
|
| | | return PlayerDatas.Instance.extersion.luckHitVal;
|
| | | case AttrEnum.HeartResis:
|
| | | case PropertyType.HeartResis:
|
| | | return PlayerDatas.Instance.extersion.LuckyHitRateReduce;
|
| | | case AttrEnum.SkillHurt:
|
| | | case PropertyType.SkillHurt:
|
| | | return PlayerDatas.Instance.extersion.SkillAtkRate;
|
| | | case AttrEnum.AddHurt:
|
| | | case PropertyType.AddHurt:
|
| | | return PlayerDatas.Instance.extersion.DamagePer;
|
| | | case AttrEnum.ReduceHurt:
|
| | | case PropertyType.ReduceHurt:
|
| | | return PlayerDatas.Instance.extersion.damageReduceRate;
|
| | | case AttrEnum.LifeReply:
|
| | | case PropertyType.LifeReply:
|
| | | return PlayerDatas.Instance.extersion.HPRestorePer;
|
| | | case AttrEnum.HurtReflect:
|
| | | case PropertyType.HurtReflect:
|
| | | return PlayerDatas.Instance.extersion.DamageBackRate;
|
| | | case AttrEnum.MoveSpeed:
|
| | | case PropertyType.MoveSpeed:
|
| | | return PlayerDatas.Instance.extersion.SpeedValue;
|
| | | case AttrEnum.PetAddHurt:
|
| | | case PropertyType.PetAddHurt:
|
| | | return PlayerDatas.Instance.extersion.PetDamPer;
|
| | | case AttrEnum.RealHurt:
|
| | | case PropertyType.RealHurt:
|
| | | return PlayerDatas.Instance.extersion.realATK;
|
| | | case AttrEnum.RealResis:
|
| | | case PropertyType.RealResis:
|
| | | return PlayerDatas.Instance.extersion.realDEF;
|
| | | case AttrEnum.DefyDef:
|
| | | case PropertyType.DefyDef:
|
| | | return PlayerDatas.Instance.extersion.IgnoreDefRate;
|
| | | case AttrEnum.DefyDefResis:
|
| | | case PropertyType.DefyDefResis:
|
| | | return PlayerDatas.Instance.extersion.IgnoreDefRateReduce;
|
| | | case AttrEnum.DefChance:
|
| | | case PropertyType.DefChance:
|
| | | return PlayerDatas.Instance.extersion.DamChanceDef;
|
| | | case AttrEnum.BloodHurt:
|
| | | case PropertyType.BloodHurt:
|
| | | return PlayerDatas.Instance.extersion.BleedDamage;
|
| | | case AttrEnum.AktReplyBlood:
|
| | | case PropertyType.AktReplyBlood:
|
| | | return PlayerDatas.Instance.extersion.BattleValEx2;
|
| | | case AttrEnum.Stun:
|
| | | case PropertyType.Stun:
|
| | | return PlayerDatas.Instance.extersion.FaintRate;
|
| | | case AttrEnum.CtrlResis:
|
| | | case PropertyType.CtrlResis:
|
| | | return PlayerDatas.Instance.extersion.FaintDefRate;
|
| | | case AttrEnum.OutHurt:
|
| | | case PropertyType.OutHurt:
|
| | | return PlayerDatas.Instance.extersion.FinalHurt;
|
| | | case AttrEnum.ReduceBearHurt:
|
| | | case PropertyType.ReduceBearHurt:
|
| | | return PlayerDatas.Instance.extersion.FinalHurtReduce;
|
| | | case AttrEnum.PVPAddHurt:
|
| | | case PropertyType.PVPAddHurt:
|
| | | return PlayerDatas.Instance.extersion.DamagePerPVP;
|
| | | case AttrEnum.PVPReduceHurt:
|
| | | case PropertyType.PVPReduceHurt:
|
| | | return PlayerDatas.Instance.extersion.DamagePerPVPReduce;
|
| | | case AttrEnum.DleHitChance:
|
| | | case PropertyType.DleHitChance:
|
| | | return PlayerDatas.Instance.extersion.ComboDamPerRate;
|
| | | case AttrEnum.DleHurt:
|
| | | case PropertyType.DleHurt:
|
| | | return PlayerDatas.Instance.extersion.ComboDamPer;
|
| | | case AttrEnum.SkillHurtPrecent:
|
| | | case PropertyType.SkillHurtPrecent:
|
| | | return PlayerDatas.Instance.extersion.skillAtkRateReduce;
|
| | | case AttrEnum.NpcHurtAddPer:
|
| | | case PropertyType.NpcHurtAddPer:
|
| | | return PlayerDatas.Instance.extersion.NpcHurtAddPer;
|
| | | case AttrEnum.Luck:
|
| | | case PropertyType.Luck:
|
| | | return PlayerDatas.Instance.extersion.luckValue;
|
| | | case AttrEnum.Mater:
|
| | | case PropertyType.Mater:
|
| | | return PlayerDatas.Instance.baseData.mater;
|
| | | case AttrEnum.Wood:
|
| | | case PropertyType.Wood:
|
| | | return PlayerDatas.Instance.baseData.wood;
|
| | | case AttrEnum.Water:
|
| | | case PropertyType.Water:
|
| | | return PlayerDatas.Instance.baseData.water;
|
| | | case AttrEnum.Fire:
|
| | | case PropertyType.Fire:
|
| | | return PlayerDatas.Instance.baseData.fire;
|
| | | case AttrEnum.Earth:
|
| | | case PropertyType.Earth:
|
| | | return PlayerDatas.Instance.baseData.earth;
|
| | | }
|
| | | return 0;
|