| | |
| | | namespace Snxxz.UI
|
| | | {
|
| | | [XLua.LuaCallCSharp]
|
| | | public class ItemTipsModel : Model, IBeforePlayerDataInitialize
|
| | | public class ItemTipsModel : Model, IBeforePlayerDataInitialize
|
| | | {
|
| | |
|
| | | FuncConfigConfig exhaustedFunc;
|
| | |
| | |
|
| | | public int[] randomRuneIds { get; private set; }
|
| | | public int[] PeerlessEquipIds { get; private set; } //绝世装备列表
|
| | | |
| | |
|
| | | PlayerPackModel _playerPack;
|
| | | PlayerPackModel playerPack
|
| | | {
|
| | | PlayerPackModel playerPack {
|
| | | get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); }
|
| | | }
|
| | |
|
| | | StoreModel _storeModel;
|
| | | StoreModel m_storeModel
|
| | | {
|
| | | StoreModel m_storeModel {
|
| | | get { return _storeModel ?? (_storeModel = ModelCenter.Instance.GetModel<StoreModel>()); }
|
| | | }
|
| | |
|
| | | PackModelInterface _modelInterface;
|
| | | PackModelInterface modelInterface
|
| | | {
|
| | | PackModelInterface modelInterface {
|
| | | get { return _modelInterface ?? (_modelInterface = ModelCenter.Instance.GetModel<PackModelInterface>()); }
|
| | | }
|
| | | FashionDressModel fashionDress { get { return ModelCenter.Instance.GetModel<FashionDressModel>(); } }
|
| | |
| | | exhaustedFunc = FuncConfigConfig.Get("OutOfPrintValue");
|
| | | exhaustedAttrFormula = new Dictionary<int, string>();
|
| | | JsonData exhaustedJsonData = JsonMapper.ToObject(exhaustedFunc.Numerical2);
|
| | | foreach(var key in exhaustedJsonData.Keys)
|
| | | foreach (var key in exhaustedJsonData.Keys)
|
| | | {
|
| | | int attrId = int.Parse(key);
|
| | | exhaustedAttrFormula.Add(attrId,exhaustedJsonData[key].ToString());
|
| | | exhaustedAttrFormula.Add(attrId, exhaustedJsonData[key].ToString());
|
| | | }
|
| | |
|
| | | FuncConfigConfig OutOfPrintValueDes = FuncConfigConfig.Get("OutOfPrintValueDes");
|
| | |
| | | foreach (var lv in wingsLegendAttrValueData.Keys)
|
| | | {
|
| | | Dictionary<int, List<int>> attrValueDic = new Dictionary<int, List<int>>();
|
| | | wingsLegendAttrValuePreviewDict.Add(int.Parse(lv.ToString()),attrValueDic);
|
| | | foreach(var attrId in wingsLegendAttrValueData[lv].Keys)
|
| | | wingsLegendAttrValuePreviewDict.Add(int.Parse(lv.ToString()), attrValueDic);
|
| | | foreach (var attrId in wingsLegendAttrValueData[lv].Keys)
|
| | | {
|
| | | List<int> attrValuelist = new List<int>();
|
| | | attrValueDic.Add(int.Parse(attrId.ToString()),attrValuelist);
|
| | | if(wingsLegendAttrValueData[lv][attrId].IsArray)
|
| | | attrValueDic.Add(int.Parse(attrId.ToString()), attrValuelist);
|
| | | if (wingsLegendAttrValueData[lv][attrId].IsArray)
|
| | | {
|
| | | for(int i = 0;i < wingsLegendAttrValueData[lv][attrId].Count; i++)
|
| | | for (int i = 0; i < wingsLegendAttrValueData[lv][attrId].Count; i++)
|
| | | {
|
| | | attrValuelist.Add(int.Parse(wingsLegendAttrValueData[lv][attrId][i].ToString()));
|
| | | }
|
| | |
| | | unlockPetDict = new Dictionary<int, PetInfoConfig>();
|
| | | petSkillDict.Clear();
|
| | | List<PetInfoConfig> petInfolist = PetInfoConfig.GetValues();
|
| | | for(int i = 0;i < petInfolist.Count; i++)
|
| | | for (int i = 0; i < petInfolist.Count; i++)
|
| | | {
|
| | | if(!unlockPetDict.ContainsKey(petInfolist[i].UnLockNeedItemID))
|
| | | if (!unlockPetDict.ContainsKey(petInfolist[i].UnLockNeedItemID))
|
| | | {
|
| | | unlockPetDict.Add(petInfolist[i].UnLockNeedItemID,petInfolist[i]);
|
| | | unlockPetDict.Add(petInfolist[i].UnLockNeedItemID, petInfolist[i]);
|
| | | }
|
| | | Dictionary<int, int> skillDict = new Dictionary<int, int>();
|
| | | petSkillDict.Add(petInfolist[i].ID,skillDict);
|
| | | petSkillDict.Add(petInfolist[i].ID, skillDict);
|
| | | int[] skillIds = petInfolist[i].SkillID;
|
| | | int[] skillUnlocks = petInfolist[i].SkillUnLock;
|
| | | if(skillIds != null)
|
| | | if (skillIds != null)
|
| | | {
|
| | | for (int j = 0; j < skillIds.Length; j++)
|
| | | {
|
| | |
| | | unlockMountDict = new Dictionary<int, HorseConfig>();
|
| | | mountSkillDict.Clear();
|
| | | List<HorseConfig> horselist = HorseConfig.GetValues();
|
| | | for(int i = 0; i < horselist.Count; i++)
|
| | | for (int i = 0; i < horselist.Count; i++)
|
| | | {
|
| | | if (!unlockMountDict.ContainsKey(horselist[i].UnlockItemID))
|
| | | {
|
| | | unlockMountDict.Add(horselist[i].UnlockItemID, horselist[i]);
|
| | | }
|
| | | Dictionary<int,List<int>> skillDict = new Dictionary<int, List<int>>();
|
| | | Dictionary<int, List<int>> skillDict = new Dictionary<int, List<int>>();
|
| | | mountSkillDict.Add(horselist[i].HorseID, skillDict);
|
| | | List<HorseUpConfig> mountlist = HorseUpConfig.GetMountlistById(horselist[i].HorseID);
|
| | | if(mountlist != null)
|
| | | if (mountlist != null)
|
| | | {
|
| | | for(int j = 0; j < mountlist.Count; j++)
|
| | | for (int j = 0; j < mountlist.Count; j++)
|
| | | {
|
| | | int[] skills = mountlist[j].SkillID;
|
| | | List<int> skilllist = new List<int>();
|
| | | if(skills != null)
|
| | | if (skills != null)
|
| | | {
|
| | | for (int k = 0; k < skills.Length; k++)
|
| | | {
|
| | |
| | | if (qualitys != null && qualityNames != null
|
| | | && qualitys.Length == qualityNames.Length)
|
| | | {
|
| | | for(int i = 0; i < qualitys.Length; i++)
|
| | | for (int i = 0; i < qualitys.Length; i++)
|
| | | {
|
| | | petAndMountQualityDict.Add(qualitys[i],qualityNames[i]);
|
| | | petAndMountQualityDict.Add(qualitys[i], qualityNames[i]);
|
| | | }
|
| | | }
|
| | |
|
| | |
| | |
|
| | | public void OnBeforePlayerDataInitialize()
|
| | | {
|
| | | |
| | |
|
| | | }
|
| | |
|
| | | public override void UnInit()
|
| | |
| | |
|
| | | }
|
| | | #region 解析本地数据
|
| | | public Dictionary<string,List<int>> atkSpeedColorDict { get; private set; }
|
| | | public Dictionary<string, List<int>> atkSpeedColorDict { get; private set; }
|
| | | private void ParseFuncConfig()
|
| | | {
|
| | | atkSpeedColorDict = new Dictionary<string, List<int>>();
|
| | | var equipYPAtkSpeedColor = FuncConfigConfig.Get("EquipYPAtkSpeedColor");
|
| | | JsonData atkSpeedData = JsonMapper.ToObject(equipYPAtkSpeedColor.Numerical1);
|
| | | foreach(var color in atkSpeedData.Keys)
|
| | | foreach (var color in atkSpeedData.Keys)
|
| | | {
|
| | | List<int> list = new List<int>();
|
| | | atkSpeedColorDict.Add(color,list);
|
| | | if(atkSpeedData[color].IsArray)
|
| | | atkSpeedColorDict.Add(color, list);
|
| | | if (atkSpeedData[color].IsArray)
|
| | | {
|
| | | for(int i = 0; i < atkSpeedData[color].Count; i++)
|
| | | for (int i = 0; i < atkSpeedData[color].Count; i++)
|
| | | {
|
| | | int range = 0;
|
| | | int.TryParse(atkSpeedData[color][i].ToString(),out range);
|
| | | int.TryParse(atkSpeedData[color][i].ToString(), out range);
|
| | | list.Add(range);
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | public bool TryGetAtkSpeedColor(int atkSpeed,out string color)
|
| | | public bool TryGetAtkSpeedColor(int atkSpeed, out string color)
|
| | | {
|
| | | color = string.Empty;
|
| | | foreach(var key in atkSpeedColorDict.Keys)
|
| | | foreach (var key in atkSpeedColorDict.Keys)
|
| | | {
|
| | | var rangelist = atkSpeedColorDict[key];
|
| | | if(rangelist.Count > 1)
|
| | | if (rangelist.Count > 1)
|
| | | {
|
| | | if(atkSpeed >= rangelist[0] && atkSpeed <= rangelist[1])
|
| | | if (atkSpeed >= rangelist[0] && atkSpeed <= rangelist[1])
|
| | | {
|
| | | color = key;
|
| | | return true;
|
| | |
| | | jadeDynastyLegendValueDict = new Dictionary<int, int>();
|
| | | var legendAttrColor = FuncConfigConfig.Get("LegendAttrColor");
|
| | | JsonData colorData = JsonMapper.ToObject(legendAttrColor.Numerical4);
|
| | | foreach(var key in colorData.Keys)
|
| | | foreach (var key in colorData.Keys)
|
| | | {
|
| | | int colorType = int.Parse(key);
|
| | | string color = colorData[key].ToString();
|
| | | jadeDynastyColorDict.Add(colorType,color);
|
| | | jadeDynastyColorDict.Add(colorType, color);
|
| | | }
|
| | |
|
| | | JsonData legendColorData = JsonMapper.ToObject(legendAttrColor.Numerical3);
|
| | | foreach(var key in legendColorData.Keys)
|
| | | foreach (var key in legendColorData.Keys)
|
| | | {
|
| | | int attrId = int.Parse(key);
|
| | | var colorDict = new Dictionary<int, int>();
|
| | | jadeDynastyLegendColorDict.Add(attrId,colorDict);
|
| | | jadeDynastyLegendColorDict.Add(attrId, colorDict);
|
| | | var attrValueData = legendColorData[key];
|
| | | foreach(var value in attrValueData.Keys)
|
| | | foreach (var value in attrValueData.Keys)
|
| | | {
|
| | | int attrValue = int.Parse(value);
|
| | | int colorType = int.Parse(attrValueData[value].ToString());
|
| | | colorDict.Add(attrValue,colorType);
|
| | | colorDict.Add(attrValue, colorType);
|
| | | }
|
| | | }
|
| | |
|
| | | var legendAttrRandRule = FuncConfigConfig.Get("LegendAttrRandRule");
|
| | | JsonData legendCountData = JsonMapper.ToObject(legendAttrRandRule.Numerical3);
|
| | | foreach(var key in legendCountData.Keys)
|
| | | foreach (var key in legendCountData.Keys)
|
| | | {
|
| | | var rangeData = legendCountData[key];
|
| | | int equipLv = int.Parse(key);
|
| | | foreach(var star in rangeData.Keys)
|
| | | foreach (var star in rangeData.Keys)
|
| | | {
|
| | | var countData = rangeData[star];
|
| | | int equipStar = int.Parse(star);
|
| | | string guid = StringUtility.Contact(equipLv,equipStar);
|
| | | string guid = StringUtility.Contact(equipLv, equipStar);
|
| | | List<int> list = new List<int>();
|
| | | jadeDynastyLegendCountDict.Add(guid,list);
|
| | | if(countData.IsArray)
|
| | | jadeDynastyLegendCountDict.Add(guid, list);
|
| | | if (countData.IsArray)
|
| | | {
|
| | | for(int i = 0; i < countData.Count; i++)
|
| | | for (int i = 0; i < countData.Count; i++)
|
| | | {
|
| | | int count = int.Parse(countData[i].ToString());
|
| | | list.Add(count);
|
| | |
| | | }
|
| | |
|
| | | JsonData legendGroupData = JsonMapper.ToObject(legendAttrRandRule.Numerical2);
|
| | | foreach(var type in legendGroupData.Keys)
|
| | | foreach (var type in legendGroupData.Keys)
|
| | | {
|
| | | var groupData = legendGroupData[type];
|
| | | int itemType = int.Parse(type);
|
| | | List<int> list = new List<int>();
|
| | | jadeDynastyLegendGroupDict.Add(itemType,list);
|
| | | if(groupData.IsArray)
|
| | | jadeDynastyLegendGroupDict.Add(itemType, list);
|
| | | if (groupData.IsArray)
|
| | | {
|
| | | for(int i = 0; i < groupData.Count; i++)
|
| | | for (int i = 0; i < groupData.Count; i++)
|
| | | {
|
| | | int groupType = int.Parse(groupData[i].ToString());
|
| | | list.Add(groupType);
|
| | |
| | | }
|
| | |
|
| | | JsonData legendIdData = JsonMapper.ToObject(legendAttrRandRule.Numerical1);
|
| | | foreach(var key in legendIdData.Keys)
|
| | | foreach (var key in legendIdData.Keys)
|
| | | {
|
| | | var attrIdData = legendIdData[key];
|
| | | int groupId = int.Parse(key);
|
| | |
| | | }
|
| | |
|
| | | JsonData legendValueData = JsonMapper.ToObject(legendAttrRandRule.Numerical4);
|
| | | foreach(var key in legendValueData.Keys)
|
| | | foreach (var key in legendValueData.Keys)
|
| | | {
|
| | | int attrId = int.Parse(key);
|
| | | var valueData = legendValueData[key];
|
| | | if(valueData.IsArray && valueData.Count > 0)
|
| | | if (valueData.IsArray && valueData.Count > 0)
|
| | | {
|
| | | int attrValue = int.Parse(valueData[0].ToString());
|
| | | jadeDynastyLegendValueDict.Add(attrId,attrValue);
|
| | | jadeDynastyLegendValueDict.Add(attrId, attrValue);
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | public bool TryGetJadeDynastyLegendCount(int itemId,out int minCount,out int maxCount)
|
| | | public bool TryGetJadeDynastyLegendCount(int itemId, out int minCount, out int maxCount)
|
| | | {
|
| | | minCount = 0;
|
| | | maxCount = 0;
|
| | |
| | |
|
| | | int equipLv = config.LV;
|
| | | int equipStar = config.StarLevel;
|
| | | string guid = StringUtility.Contact(equipLv,equipStar);
|
| | | if(jadeDynastyLegendCountDict.ContainsKey(guid))
|
| | | string guid = StringUtility.Contact(equipLv, equipStar);
|
| | | if (jadeDynastyLegendCountDict.ContainsKey(guid))
|
| | | {
|
| | | var list = jadeDynastyLegendCountDict[guid];
|
| | | if(list.Count > 1)
|
| | | if (list.Count > 1)
|
| | | {
|
| | | minCount = list[0];
|
| | | maxCount = list[1];
|
| | | return true;
|
| | | }
|
| | | else if(list.Count > 0)
|
| | | else if (list.Count > 0)
|
| | | {
|
| | | maxCount = list[0];
|
| | | return true;
|
| | |
| | | return false;
|
| | | }
|
| | |
|
| | | public bool TryGetJadeDynastyLegendAttr(int itemId,out Dictionary<int,int> attrDict)
|
| | | public bool TryGetJadeDynastyLegendAttr(int itemId, out Dictionary<int, int> attrDict)
|
| | | {
|
| | | attrDict = new Dictionary<int, int>();
|
| | | var config = ItemConfig.Get(itemId);
|
| | | if (config == null) return false;
|
| | |
|
| | | if(jadeDynastyLegendGroupDict.ContainsKey(config.Type))
|
| | | if (jadeDynastyLegendGroupDict.ContainsKey(config.Type))
|
| | | {
|
| | | var grouplist = jadeDynastyLegendGroupDict[config.Type];
|
| | | foreach(var groupId in grouplist)
|
| | | foreach (var groupId in grouplist)
|
| | | {
|
| | | if(jadeDynastyLegendIdDict.ContainsKey(groupId))
|
| | | if (jadeDynastyLegendIdDict.ContainsKey(groupId))
|
| | | {
|
| | | var attrIds = jadeDynastyLegendIdDict[groupId];
|
| | | foreach(var attrId in attrIds)
|
| | | foreach (var attrId in attrIds)
|
| | | {
|
| | | int attrValue = 0;
|
| | | if(jadeDynastyLegendValueDict.ContainsKey(attrId))
|
| | | if (jadeDynastyLegendValueDict.ContainsKey(attrId))
|
| | | {
|
| | | attrValue = jadeDynastyLegendValueDict[attrId];
|
| | | }
|
| | | attrDict.Add(attrId,attrValue);
|
| | | attrDict.Add(attrId, attrValue);
|
| | | }
|
| | | return true;
|
| | | }
|
| | | }
|
| | | |
| | |
|
| | | }
|
| | | return false;
|
| | | }
|
| | |
|
| | | public bool TryGetJadeDyanastyLegendColorType(int attrId,int attrValue,out int colorType)
|
| | | public bool TryGetJadeDyanastyLegendColorType(int attrId, int attrValue, out int colorType)
|
| | | {
|
| | | colorType = 0;
|
| | | if(jadeDynastyLegendColorDict.ContainsKey(attrId))
|
| | | if (jadeDynastyLegendColorDict.ContainsKey(attrId))
|
| | | {
|
| | | var colorRanges = jadeDynastyLegendColorDict[attrId];
|
| | | foreach(var key in colorRanges.Keys)
|
| | | foreach (var key in colorRanges.Keys)
|
| | | {
|
| | | if (attrValue <= key)
|
| | | {
|
| | |
| | | return false;
|
| | | }
|
| | |
|
| | | public bool TryGetJadeDyanastyLegendColor(int colorType,out string color)
|
| | | public bool TryGetJadeDyanastyLegendColor(int colorType, out string color)
|
| | | {
|
| | | color = string.Empty;
|
| | | return jadeDynastyColorDict.TryGetValue(colorType,out color);
|
| | | return jadeDynastyColorDict.TryGetValue(colorType, out color);
|
| | | }
|
| | |
|
| | | public int GetJadeDynastyLegendValue(int attrId)
|
| | | {
|
| | | int attrValue = 0;
|
| | | jadeDynastyLegendValueDict.TryGetValue(attrId,out attrValue);
|
| | | jadeDynastyLegendValueDict.TryGetValue(attrId, out attrValue);
|
| | | return attrValue;
|
| | | }
|
| | | #endregion
|
| | |
| | | /// </summary>
|
| | | /// <param name="refresh"></param>
|
| | | private void RefreshOfflinePluginTime(PlayerDataRefresh refresh)
|
| | | { |
| | | {
|
| | | if (refresh != PlayerDataRefresh.HappyPoint) return;
|
| | |
|
| | | HangUpSetModel.Instance.SetOfflinePluginTime(m_storeModel.GetTCBPlayerData(refresh));
|
| | |
| | | /// <summary>
|
| | | ///从背包类型中得到物品展示
|
| | | /// </summary>
|
| | | public void SetItemTipsModel(PackType type,string guid,bool isShowUINow = true,bool isCompare = false,ItemTipChildType childType = ItemTipChildType.Normal)
|
| | | public void SetItemTipsModel(PackType type, string guid, bool isShowUINow = true, bool isCompare = false, ItemTipChildType childType = ItemTipChildType.Normal)
|
| | | {
|
| | | curAttrData = null;
|
| | | compareAttrData = null;
|
| | |
| | | ItemModel itemModel = playerPack.GetItemModelByGUID(guid);
|
| | | if (itemModel != null)
|
| | | {
|
| | | curAttrData = new ItemAttrData(itemModel.itemId,false, (ulong)itemModel.count
|
| | | , itemModel.itemPlace, itemModel.isBind,isCompare
|
| | | , type, guid, ConfigParse.Analysis(itemModel.itemInfo.UserData),childType);
|
| | | curAttrData = new ItemAttrData(itemModel.itemId, false, (ulong)itemModel.count
|
| | | , itemModel.itemPlace, itemModel.isBind, isCompare
|
| | | , type, guid, ConfigParse.Analysis(itemModel.itemInfo.UserData), childType);
|
| | |
|
| | | if (isCompare)
|
| | | {
|
| | | switch(type)
|
| | | switch (type)
|
| | | {
|
| | | case PackType.DogzItem:
|
| | | SetCompareAttrData(PackType.DogzEquip, itemModel.config.EquipPlace);
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | if(isShowUINow)
|
| | | if (isShowUINow)
|
| | | {
|
| | | ShowUICtrl();
|
| | | }
|
| | |
| | | /// 预览物品信息
|
| | | /// </summary>
|
| | | /// <param name="itemAttrData"></param>
|
| | | public void SetItemTipsModel(ItemAttrData itemAttrData,bool isShowUINow = true)
|
| | | public void SetItemTipsModel(ItemAttrData itemAttrData, bool isShowUINow = true)
|
| | | {
|
| | | compareAttrData = null;
|
| | | curTips = null;
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | public void SetCurrentAttrData(ItemModel itemModel,bool isCompare )
|
| | | public void SetCurrentAttrData(ItemModel itemModel, bool isCompare)
|
| | | {
|
| | | curAttrData = new ItemAttrData(itemModel.itemId, false, (ulong)itemModel.count
|
| | | , itemModel.itemPlace, itemModel.isBind, isCompare
|
| | | , itemModel.packType, itemModel.guid, ConfigParse.Analysis(itemModel.itemInfo.UserData),ItemTipChildType.Normal);
|
| | | , itemModel.packType, itemModel.guid, ConfigParse.Analysis(itemModel.itemInfo.UserData), ItemTipChildType.Normal);
|
| | | }
|
| | |
|
| | |
|
| | |
| | | , itemModel.packType, itemModel.guid, ConfigParse.Analysis(itemModel.itemInfo.UserData));
|
| | | }
|
| | |
|
| | | private void SetCompareAttrData(PackType type,int equipPlace)
|
| | | private void SetCompareAttrData(PackType type, int equipPlace)
|
| | | {
|
| | | compareAttrData = null;
|
| | | ItemModel itemModel = null;
|
| | | switch (type)
|
| | | {
|
| | | case PackType.Equip:
|
| | | itemModel = playerPack.GetItemModelByIndex(type, equipPlace);
|
| | | itemModel = playerPack.GetItemModelByIndex(type, equipPlace);
|
| | | break;
|
| | | case PackType.DogzEquip:
|
| | | var dogzModel = ModelCenter.Instance.GetModel<DogzModel>();
|
| | | dogzModel.TryGetDogzEquip(dogzModel.presentSelectDogz,equipPlace,out itemModel);
|
| | | dogzModel.TryGetDogzEquip(dogzModel.presentSelectDogz, equipPlace, out itemModel);
|
| | | break;
|
| | | case PackType.JadeDynastyEquip:
|
| | | itemModel = playerPack.GetItemModelByIndex(type, equipPlace);
|
| | | break;
|
| | | }
|
| | | |
| | |
|
| | | if (itemModel == null) return;
|
| | |
|
| | | ItemModel fairyModel2 = null;
|
| | |
| | | {
|
| | | compareAttrData = new ItemAttrData(itemModel.itemId, false, (ulong)itemModel.count
|
| | | , itemModel.itemPlace, itemModel.isBind, true
|
| | | , type,itemModel.guid, ConfigParse.Analysis(itemModel.itemInfo.UserData));
|
| | | , type, itemModel.guid, ConfigParse.Analysis(itemModel.itemInfo.UserData));
|
| | |
|
| | | }
|
| | | }
|
| | |
| | | {
|
| | | if (curAttrData == null) return;
|
| | |
|
| | | #if UNITY_EDITOR
|
| | | string itemInfo = StringUtility.Contact("物品ID:",curAttrData.itemId,"物品名称:",curAttrData.itemConfig.ItemName);
|
| | | #if UNITY_EDITOR
|
| | | string itemInfo = StringUtility.Contact("物品ID:", curAttrData.itemId, "物品名称:", curAttrData.itemConfig.ItemName);
|
| | | DebugEx.Log(itemInfo);
|
| | | #endif
|
| | | #endif
|
| | |
|
| | | switch (curAttrData.winType)
|
| | | {
|
| | |
| | |
|
| | | var horseModel = ModelCenter.Instance.GetModel<PlayerMountDatas>();
|
| | | var petmodel = ModelCenter.Instance.GetModel<PlayerPetDatas>();
|
| | | bool isOverdue = modelInterface.IsOverdue(attrData.guid,attrData.itemId,attrData.useDataDict);
|
| | | bool isOverdue = modelInterface.IsOverdue(attrData.guid, attrData.itemId, attrData.useDataDict);
|
| | | HorseConfig horseConfig = null;
|
| | | PetInfoConfig petInfo = null;
|
| | | switch (attrData.itemConfig.Type)
|
| | |
| | | {
|
| | | if (attrData.itemConfig.CanSell == 1)
|
| | | {
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.sell, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.SellItem(ItemOperateType.sell, attrData); });
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.sell, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.SellItem( attrData); });
|
| | | }
|
| | | }
|
| | | break;
|
| | |
| | | {
|
| | | if (attrData.itemConfig.CanSell == 1)
|
| | | {
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.sell, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.SellItem(ItemOperateType.sell, attrData); });
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.sell, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.SellItem(attrData); });
|
| | | }
|
| | | }
|
| | | break;
|
| | |
| | | {
|
| | | if (attrData.itemConfig.CanSell == 1)
|
| | | {
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.sell, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.SellItem(ItemOperateType.sell, attrData); });
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.sell, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.SellItem(attrData); });
|
| | | }
|
| | | }
|
| | | break;
|
| | |
| | | {
|
| | | if (attrData.itemConfig.CanSell == 1)
|
| | | {
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.sell, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.SellItem(ItemOperateType.sell, attrData); });
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.sell, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.SellItem(attrData); });
|
| | | }
|
| | | }
|
| | | break;
|
| | | default:
|
| | | if (attrData.itemConfig.CanSell == 1)
|
| | | {
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.sell, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.SellItem(ItemOperateType.sell, attrData); });
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.sell, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.SellItem(attrData); });
|
| | | }
|
| | | break;
|
| | | }
|
| | |
| | | List<int> dismantleReturnlist = attrData.GetUseDataModel((int)ItemUseDataKey.itemDecompound);
|
| | | if (dismantleReturnlist != null && dismantleReturnlist.Count > 0)
|
| | | {
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.dismantle, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.DismantleItem(ItemOperateType.dismantle, attrData); });
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.dismantle, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.DismantleItem( attrData); });
|
| | | }
|
| | |
|
| | | if (!isOverdue)
|
| | | {
|
| | | if(attrData.itemConfig.JumpComposeCondi != null && attrData.itemConfig.JumpComposeCondi.Length > 0)
|
| | | if (attrData.itemConfig.JumpComposeCondi != null && attrData.itemConfig.JumpComposeCondi.Length > 0)
|
| | | {
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.compose, (ItemWinBtnType, ItemAttrData) => {
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.compose, (ItemWinBtnType, ItemAttrData) =>
|
| | | {
|
| | | int jumpId = 0;
|
| | | bool isUnlock = ModelCenter.Instance.GetModel<ComposeWinModel>().CheckComposeItemById(attrData.itemId,out jumpId);
|
| | | bool isUnlock = ModelCenter.Instance.GetModel<ComposeWinModel>().CheckComposeItemById(attrData.itemId, out jumpId);
|
| | | if (isUnlock)
|
| | | {
|
| | | ItemLogicUtility.Instance.GotoComposeItem(ItemOperateType.compose,jumpId);
|
| | | ItemLogicUtility.Instance.GotoComposeItem(jumpId);
|
| | | }
|
| | | });
|
| | | }
|
| | |
|
| | | if (attrData.itemConfig.Type == 25 && attrData.itemConfig.Effect1 == 225)
|
| | | {
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.inlay, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.GotoInlayItem(ItemOperateType.inlay, attrData.guid); });
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.inlay, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.GotoInlayItem(attrData.guid); });
|
| | | }
|
| | |
|
| | | if (attrData.itemConfig.CanTrade == 1 && attrData.isBind == 0)
|
| | | {
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.putAway, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.PutAwayItem(ItemOperateType.putAway, attrData.guid); });
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.putAway, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.PutAwayItem(attrData.guid); });
|
| | | }
|
| | |
|
| | | if((ItemType)attrData.itemConfig.Type == ItemType.WingsMat)
|
| | | if ((ItemType)attrData.itemConfig.Type == ItemType.WingsMat)
|
| | | {
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.refine, (ItemWinBtnType, ItemAttrData) =>
|
| | | {
|
| | | // BoxGetItemModel.Instance.SetModel(attrData.guid);
|
| | | WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.StrengthFunc3);
|
| | | // BoxGetItemModel.Instance.SetModel(attrData.guid);
|
| | | WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.StrengthFunc3);
|
| | | });
|
| | | |
| | |
|
| | | }
|
| | | }
|
| | |
|
| | | if (attrData.count > 1)
|
| | | {
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.split, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.OnClickSplitBtn(ItemOperateType.split, attrData.guid); });
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.split, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.OnClickSplitBtn(attrData.guid); });
|
| | | }
|
| | |
|
| | | if(!isOverdue)
|
| | | if (!isOverdue)
|
| | | {
|
| | | switch (attrData.winType)
|
| | | {
|
| | |
| | |
|
| | | if (attrData.itemConfig.UseTag == 1)
|
| | | {
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.makeUse, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.UseItem(ItemOperateType.makeUse, attrData.index); });
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.makeUse, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.UseItem(attrData.index); });
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | {
|
| | | if (ItemRenewalIds[i] == attrData.itemId)
|
| | | {
|
| | | if(isOverdue)
|
| | | if (isOverdue)
|
| | | {
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.renewal, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.RenewalItem(ItemOperateType.renewal, attrData.guid); });
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.renewal, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.RenewalItem(attrData.guid); });
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | {
|
| | | if (tryPutOnEquipIds[i] == attrData.itemId)
|
| | | {
|
| | | if(PlayerDatas.Instance.baseData.coinPointTotal <= 0)
|
| | | if (PlayerDatas.Instance.baseData.coinPointTotal <= 0)
|
| | | {
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.renewal, (ItemWinBtnType, ItemAttrData) => { WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.FirstRecharge); });
|
| | | }
|
| | |
| | | {
|
| | | if (attrData == null) return;
|
| | |
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.putOut, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.TakeOutFromWarehouse(ItemOperateType.putOut,attrData.guid); });
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.putOut, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.TakeOutFromWarehouse(ItemOperateType.putOut, attrData.guid); });
|
| | |
|
| | | }
|
| | |
|
| | |
| | |
|
| | | if (attrData.itemConfig.CanSell == 1)
|
| | | {
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.sell, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.SellItem(ItemOperateType.sell, attrData); });
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.sell, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.SellItem(attrData); });
|
| | | }
|
| | |
|
| | | switch (attrData.winType)
|
| | | {
|
| | | case ItemWinType.equipWin:
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.putOn, (ItemWinBtnType, ItemAttrData) => {
|
| | | if(dogzModel.CheckIsPutOn(attrData.itemId))
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.putOn, (ItemWinBtnType, ItemAttrData) =>
|
| | | {
|
| | | if (dogzModel.CheckIsPutOn(attrData.itemId))
|
| | | {
|
| | | List<int> indexlist = new List<int>();
|
| | | indexlist.Add(attrData.index);
|
| | | dogzModel.SendPutOnEquip(indexlist);
|
| | | }
|
| | | |
| | |
|
| | | });
|
| | | break;
|
| | | }
|
| | |
| | | {
|
| | | if (attrData == null) return;
|
| | |
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.putOff, (ItemWinBtnType, ItemAttrData) => {
|
| | | dogzModel.CheckPutOff(dogzModel.GetDogzEquipPlaceByIndex(attrData.index));
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.putOff, (ItemWinBtnType, ItemAttrData) =>
|
| | | {
|
| | | dogzModel.CheckPutOff(dogzModel.GetDogzEquipPlaceByIndex(attrData.index));
|
| | | });
|
| | |
|
| | | if(dogzModel.TryGetAssistDogzState(dogzModel.presentSelectDogz))
|
| | | if (dogzModel.TryGetAssistDogzState(dogzModel.presentSelectDogz))
|
| | | {
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.strength, (ItemWinBtnType, ItemAttrData) => {
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.strength, (ItemWinBtnType, ItemAttrData) =>
|
| | | {
|
| | | dogzModel.OpenDogzFuncEvent(1, attrData.index);
|
| | | });
|
| | | }
|
| | | |
| | |
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | |
| | | {
|
| | | if (attrData == null) return;
|
| | |
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.putIn, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.PutInWareHouse(ItemOperateType.putIn, attrData.guid); });
|
| | |
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.putIn,
|
| | | (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.PutInWareHouse(attrData.guid); }
|
| | | );
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | |
| | | /// <param name="attrData"></param>
|
| | | public void SetPutOnTipsBtn(ItemAttrData attrData)
|
| | | {
|
| | | if (attrData == null) return;
|
| | | if (attrData == null)
|
| | | {
|
| | | return;
|
| | | }
|
| | |
|
| | | RoleEquipType equipType = (RoleEquipType)attrData.itemConfig.EquipPlace;
|
| | | if(equipType == RoleEquipType.Wing)
|
| | | if (equipType == RoleEquipType.Wing)
|
| | | {
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.refine, (ItemWinBtnType, ItemAttrData) => {
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.refine, (ItemWinBtnType, ItemAttrData) =>
|
| | | {
|
| | | WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.StrengthFunc3);
|
| | | });
|
| | | }
|
| | | else if(equipType != RoleEquipType.SpiritAnimal)
|
| | | else if (equipType != RoleEquipType.SpiritAnimal)
|
| | | {
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.strength, (ItemWinBtnType, ItemAttrData) => {
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.strength, (ItemWinBtnType, ItemAttrData) =>
|
| | | {
|
| | | WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.StrengthFunc1);
|
| | | });
|
| | | }
|
| | |
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.putOff,(ItemWinBtnType,ItemAttrData) => {
|
| | | ItemLogicUtility.Instance.PutOffEquip(ItemOperateType.putOff, attrData.guid);
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.putOff, (ItemWinBtnType, ItemAttrData) =>
|
| | | {
|
| | | ItemLogicUtility.Instance.PutOffEquip(attrData.guid);
|
| | | });
|
| | |
|
| | | for (int i = 0; i < tryPutOnEquipIds.Length; i++)
|
| | |
| | | bool isOverdue = modelInterface.IsOverdue(attrData.guid, attrData.itemId, attrData.useDataDict);
|
| | | if (attrData.itemConfig.CanSell == 1)
|
| | | {
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.sell, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.SellItem(ItemOperateType.sell, attrData); });
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.sell, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.SellItem(attrData); });
|
| | | }
|
| | | //List<int> dismantleReturnlist = attrData.GetUseDataModel((int)ItemUseDataKey.Def_IudetItemDecompound);
|
| | | //if (dismantleReturnlist != null && dismantleReturnlist.Count > 0)
|
| | | //{
|
| | | // attrData.SetTipsFuncBtn(ItemWinBtnType.dismantle, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendDismantleQuest(ItemWinBtnType.dismantle, attrData); });
|
| | | //}
|
| | |
|
| | | if (!isOverdue)
|
| | | {
|
| | |
| | | bool isUnlock = ModelCenter.Instance.GetModel<ComposeWinModel>().CheckComposeItemById(attrData.itemId, out jumpId);
|
| | | if (isUnlock)
|
| | | {
|
| | | ItemLogicUtility.Instance.GotoComposeItem(ItemOperateType.compose, jumpId);
|
| | | ItemLogicUtility.Instance.GotoComposeItem(jumpId);
|
| | | }
|
| | | });
|
| | | }
|
| | |
|
| | | if (attrData.itemConfig.Effect1 == 225)
|
| | | {
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.inlay, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.GotoInlayItem(ItemOperateType.inlay, attrData.guid); });
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.inlay, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.GotoInlayItem(attrData.guid); });
|
| | | }
|
| | |
|
| | | // if (attrData.itemConfig.CanTrade == 1 && attrData.isBind == 0)
|
| | | // {
|
| | | // attrData.SetTipsFuncBtn(ItemWinBtnType.putAway, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendPutAwayQuest(ItemWinBtnType.putAway, attrData.guid); });
|
| | | // }
|
| | | //}
|
| | |
|
| | | //if (attrData.count > 1)
|
| | | //{
|
| | | // attrData.SetTipsFuncBtn(ItemWinBtnType.split, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.OnClickSplitBtn(ItemWinBtnType.split, attrData.guid); });
|
| | | //}
|
| | |
|
| | | if (!isOverdue)
|
| | | {
|
| | |
| | | attrData.SetTipsFuncBtn(ItemOperateType.putOn, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.PutOnItem(ItemOperateType.putOn, attrData.guid); });
|
| | | break;
|
| | | }
|
| | |
|
| | | //if (attrData.itemConfig.UseTag == 1)
|
| | | //{
|
| | | // attrData.SetTipsFuncBtn(ItemWinBtnType.makeUse, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendUseItemQuest(ItemWinBtnType.makeUse, attrData.index); });
|
| | | //}
|
| | | }
|
| | |
|
| | | //for (int i = 0; i < ItemRenewalIds.Length; i++)
|
| | | //{
|
| | | // if (ItemRenewalIds[i] == attrData.itemId)
|
| | | // {
|
| | | // if (isOverdue)
|
| | | // {
|
| | | // attrData.SetTipsFuncBtn(ItemWinBtnType.renewal, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendRenewalQuest(ItemWinBtnType.renewal, attrData.guid); });
|
| | | // }
|
| | | // }
|
| | | //}
|
| | |
|
| | | //for (int i = 0; i < tryPutOnEquipIds.Length; i++)
|
| | | //{
|
| | | // if (tryPutOnEquipIds[i] == attrData.itemId)
|
| | | // {
|
| | | // if (PlayerDatas.Instance.baseData.coinPointTotal <= 0)
|
| | | // {
|
| | | // attrData.SetTipsFuncBtn(ItemWinBtnType.renewal, (ItemWinBtnType, ItemAttrData) => { WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.FirstRecharge); });
|
| | | // }
|
| | | // }
|
| | | //}
|
| | | }
|
| | | }
|
| | |
|
| | | public void SetJadeDynastyPutOnTipsBtn(ItemAttrData attrData)
|
| | | {
|
| | | if (attrData == null) return;
|
| | | if (attrData == null)
|
| | | {
|
| | | return;
|
| | | }
|
| | |
|
| | | RoleEquipType equipType = (RoleEquipType)attrData.itemConfig.EquipPlace;
|
| | |
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.putOff, (ItemWinBtnType, ItemAttrData) => {
|
| | | ItemLogicUtility.Instance.PutOffEquip(ItemOperateType.putOff, attrData.guid);
|
| | | var equipType = (RoleEquipType)attrData.itemConfig.EquipPlace;
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.putOff, (ItemWinBtnType, ItemAttrData) =>
|
| | | {
|
| | | ItemLogicUtility.Instance.PutOffEquip(attrData.guid);
|
| | | });
|
| | | }
|
| | | #endregion
|
| | |
| | | public List<GetItemWaysConfig> GetWaysList(ItemAttrData attrData)
|
| | | {
|
| | | getWayslist.Clear();
|
| | | if (attrData == null) return getWayslist;
|
| | |
|
| | | int[] waysArray = attrData.itemConfig.GetWay;
|
| | | if (waysArray != null)
|
| | | if (attrData != null)
|
| | | {
|
| | | int i = 0;
|
| | | for (i = 0; i < waysArray.Length; i++)
|
| | | int[] waysArray = attrData.itemConfig.GetWay;
|
| | | if (waysArray != null)
|
| | | {
|
| | | GetItemWaysConfig itemWaysModel = GetItemWaysConfig.Get(waysArray[i]);
|
| | | if (itemWaysModel != null)
|
| | | int i = 0;
|
| | | for (i = 0; i < waysArray.Length; i++)
|
| | | {
|
| | | getWayslist.Add(itemWaysModel);
|
| | | var config = GetItemWaysConfig.Get(waysArray[i]);
|
| | | if (config != null)
|
| | | {
|
| | | getWayslist.Add(config);
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | if(key == (int)AttrEnum.ATKSPEED)
|
| | | if (key == (int)AttrEnum.ATKSPEED)
|
| | | {
|
| | | int attrValue = GetProValueType(playerProModel.ISPercentage, itemEffectDict[key]);
|
| | | otherStr = SetAttrColor(otherStr,attrValue,attrData.itemConfig.EquipPlace);
|
| | | otherStr = SetAttrColor(otherStr, attrValue, attrData.itemConfig.EquipPlace);
|
| | | }
|
| | |
|
| | | if (attrSB.Length <= 0)
|
| | |
| | | curHp = itemEffectDict[key];
|
| | | }
|
| | |
|
| | | rangeStr = playerProModel.Name + "+" + GetProValueTypeStr(playerProModel, curHp) + "[" + GetProValueTypeStr(playerProModel, itemEffectDict[key]) + "-" + GetProValueTypeStr(playerProModel, maxHp) + "]";
|
| | | rangeStr = playerProModel.Name + "+" + GetProValueTypeStr(playerProModel, curHp) + "[" + GetProValueTypeStr(playerProModel, itemEffectDict[key]) + "-" + GetProValueTypeStr(playerProModel, maxHp) + "]";
|
| | | }
|
| | | else if (key == 19)
|
| | | {
|
| | |
| | | return s;
|
| | | }
|
| | |
|
| | | private string SetAttrColor(string attrStr,int atkSpeed,int equipPlace)
|
| | | private string SetAttrColor(string attrStr, int atkSpeed, int equipPlace)
|
| | | {
|
| | | if ((RoleEquipType)equipPlace != RoleEquipType.FairyCan
|
| | | && (RoleEquipType)equipPlace != RoleEquipType.FairyCan2)
|
| | |
| | | }
|
| | |
|
| | | string color = string.Empty;
|
| | | bool isColor = TryGetAtkSpeedColor(atkSpeed,out color);
|
| | | if(isColor)
|
| | | bool isColor = TryGetAtkSpeedColor(atkSpeed, out color);
|
| | | if (isColor)
|
| | | {
|
| | | return StringUtility.Contact("<color=#",color, ">", attrStr, "</color>");
|
| | | return StringUtility.Contact("<color=#", color, ">", attrStr, "</color>");
|
| | | }
|
| | | return attrStr;
|
| | | }
|
| | |
|
| | | public int GetProValueType(int precentType, int value)
|
| | | {
|
| | | switch(precentType)
|
| | | switch (precentType)
|
| | | {
|
| | | case 1:
|
| | | case 2:
|
| | |
| | |
|
| | | #region 设置传奇属性
|
| | | private Dictionary<int, int> attrDict = new Dictionary<int, int>();
|
| | | |
| | |
|
| | | public string GetLegendAttr(ItemAttrData attrData)
|
| | | {
|
| | | if (!attrData.isPreview)
|
| | | {
|
| | | return SetLegendAttr(attrData.legendDataDict.Keys.ToList(), attrData.legendDataDict.Values.ToList(),attrData.itemConfig);
|
| | | return SetLegendAttr(attrData.legendDataDict.Keys.ToList(), attrData.legendDataDict.Values.ToList(), attrData.itemConfig);
|
| | | }
|
| | | else
|
| | | {
|
| | |
| | | {
|
| | | int minCount = 0;
|
| | | int maxCount = 0;
|
| | | TryGetJadeDynastyLegendCount(attrData.itemId,out minCount,out maxCount);
|
| | | string countSB = StringUtility.Contact(minCount,"-",maxCount);
|
| | | TryGetJadeDynastyLegendCount(attrData.itemId, out minCount, out maxCount);
|
| | | string countSB = StringUtility.Contact(minCount, "-", maxCount);
|
| | | string s = Language.Get("LegendAttPreview_MightTitle", countSB);
|
| | | return s;
|
| | | }
|
| | |
| | | }
|
| | |
|
| | | //即将丢弃
|
| | | public string GetLegendAttr(List<int> idlist, List<int> valuelist,ItemConfig itemConfig)
|
| | | public string GetLegendAttr(List<int> idlist, List<int> valuelist, ItemConfig itemConfig)
|
| | | {
|
| | | return SetLegendAttr(idlist, valuelist,itemConfig);
|
| | | return SetLegendAttr(idlist, valuelist, itemConfig);
|
| | | }
|
| | |
|
| | | //即将丢弃
|
| | | public string GetPreviewLegendAttr(List<int> idlist, List<int> valuelist,ItemConfig itemConfig,bool isCustom)
|
| | | public string GetPreviewLegendAttr(List<int> idlist, List<int> valuelist, ItemConfig itemConfig, bool isCustom)
|
| | | {
|
| | | return SetLegendAttr(idlist, valuelist, itemConfig,true,isCustom);
|
| | | return SetLegendAttr(idlist, valuelist, itemConfig, true, isCustom);
|
| | | }
|
| | |
|
| | | private string SetLegendAttr(List<int> idlist, List<int> valuelist,ItemConfig itemConfig,bool isPreview = false, bool isCustom = false)
|
| | | private string SetLegendAttr(List<int> idlist, List<int> valuelist, ItemConfig itemConfig, bool isPreview = false, bool isCustom = false)
|
| | | {
|
| | | if (idlist == null)
|
| | | return "";
|
| | |
| | | {
|
| | | int attrId = idlist[i];
|
| | | int attrValue = valuelist[i];
|
| | | attrDict.Add(attrId,attrValue);
|
| | | attrDict.Add(attrId, attrValue);
|
| | | }
|
| | |
|
| | | switch (itemConfig.EquipPlace)
|
| | |
| | | {
|
| | | var attrId = idlist[i];
|
| | | var packType = GeneralDefine.GetPackTypeByItemType(itemConfig.Type);
|
| | | switch(packType)
|
| | | switch (packType)
|
| | | {
|
| | | case PackType.JadeDynastyItem:
|
| | | SetJadeDynastyLengend(itemConfig,attrId);
|
| | | SetJadeDynastyLengend(itemConfig, attrId);
|
| | | break;
|
| | | default:
|
| | | SetNormalPackLengend(itemConfig,attrId,isCustom,isPreview);
|
| | | SetNormalPackLengend(itemConfig, attrId, isCustom, isPreview);
|
| | | break;
|
| | | }
|
| | | }
|
| | | return attrSB.ToString();
|
| | | }
|
| | |
|
| | | private void SetNormalPackLengend(ItemConfig itemConfig, int attrId, bool isCustom,bool isPreview)
|
| | | private void SetNormalPackLengend(ItemConfig itemConfig, int attrId, bool isCustom, bool isPreview)
|
| | | {
|
| | | playerProModel = PlayerPropertyConfig.Get(attrId);
|
| | | if (playerProModel != null)
|
| | |
| | | s = playerProModel.Name + "+" + GetProValueTypeStr(playerProModel, attrDict[attrId]);
|
| | | }
|
| | | int colorType = 0;
|
| | | TryGetJadeDyanastyLegendColorType(attrId, attrDict[attrId],out colorType);
|
| | | s = GetTextColorByColorType(colorType,s);
|
| | | TryGetJadeDyanastyLegendColorType(attrId, attrDict[attrId], out colorType);
|
| | | s = GetTextColorByColorType(colorType, s);
|
| | |
|
| | | if (attrSB.Length <= 0)
|
| | | {
|
| | |
| | | return 0;
|
| | | }
|
| | |
|
| | | private int CompareJadeDynastyLegendColorType(int start,int end)
|
| | | private int CompareJadeDynastyLegendColorType(int start, int end)
|
| | | {
|
| | | int value1 = attrDict[start];
|
| | | int value2 = attrDict[end];
|
| | | int colorType1 = 0;
|
| | | int colorType2 = 0;
|
| | | TryGetJadeDyanastyLegendColorType(start,value1,out colorType1);
|
| | | TryGetJadeDyanastyLegendColorType(end,value2,out colorType2);
|
| | | TryGetJadeDyanastyLegendColorType(start, value1, out colorType1);
|
| | | TryGetJadeDyanastyLegendColorType(end, value2, out colorType2);
|
| | | if (colorType1.CompareTo(colorType2) != 0) return -colorType1.CompareTo(colorType2);
|
| | |
|
| | | return 0;
|
| | |
| | | private string GetTextColorByColorType(int colorType, string msg)
|
| | | {
|
| | | string colorSB = string.Empty;
|
| | | TryGetJadeDyanastyLegendColor(colorType,out colorSB);
|
| | | string s = StringUtility.Contact("<color=#",colorSB,">",msg, "</color>");
|
| | | TryGetJadeDyanastyLegendColor(colorType, out colorSB);
|
| | | string s = StringUtility.Contact("<color=#", colorSB, ">", msg, "</color>");
|
| | | return s;
|
| | | }
|
| | | #endregion
|
| | |
| | | foreach (var id in attrData.wingsRefineMatDict.Keys)
|
| | | {
|
| | | ItemConfig itemConfig = ItemConfig.Get(id);
|
| | | if(itemConfig != null)
|
| | | if (itemConfig != null)
|
| | | {
|
| | | string des = StringUtility.Contact(itemConfig.ItemName,"X",attrData.wingsRefineMatDict[id]);
|
| | | string des = StringUtility.Contact(itemConfig.ItemName, "X", attrData.wingsRefineMatDict[id]);
|
| | | if (attrSB.Length <= 0)
|
| | | {
|
| | | attrSB.Append(des);
|
| | |
| | | }
|
| | | return attrSB.ToString();
|
| | | }
|
| | | #endregion
|
| | | #endregion
|
| | |
|
| | | #region 设置洗练属性
|
| | | public string GetWashAttr(ItemAttrData attrData)
|
| | | public string GetWashAttr(ItemAttrData attrData)
|
| | | {
|
| | | if (attrData == null) return "";
|
| | |
|
| | |
| | | #region 设置绝版属性
|
| | | public string GetExhaustedAtrr(ItemAttrData attrData)
|
| | | {
|
| | | return SetExhaustedAttr(attrData,attrData.exhaustedMaxDataDict.Keys.ToList(),attrData.exhaustedMaxDataDict.Values.ToList());
|
| | | return SetExhaustedAttr(attrData, attrData.exhaustedMaxDataDict.Keys.ToList(), attrData.exhaustedMaxDataDict.Values.ToList());
|
| | | }
|
| | |
|
| | | //即将丢弃
|
| | |
| | | return "";
|
| | | }
|
| | |
|
| | | private string SetExhaustedAttr(ItemAttrData attrData,List<int> idlist, List<int> valuelist)
|
| | | private string SetExhaustedAttr(ItemAttrData attrData, List<int> idlist, List<int> valuelist)
|
| | | {
|
| | | if (idlist == null)
|
| | | return "";
|
| | |
| | | switch ((AttrEnum)idlist[i])
|
| | | {
|
| | | case AttrEnum.OnlyFinalHurt:
|
| | | s = Language.Get("EquipTip_ExtraDamage",GetExhaustedAttrValue(idlist[i],valuelist[i]),GetExhaustedMaxLv(attrData.itemConfig.LV),valuelist[i]);
|
| | | s = Language.Get("EquipTip_ExtraDamage", GetExhaustedAttrValue(idlist[i], valuelist[i]), GetExhaustedMaxLv(attrData.itemConfig.LV), valuelist[i]);
|
| | | break;
|
| | | case AttrEnum.PVPAtkBackHP:
|
| | | s = Language.Get("EquipTip_ExtraHpBack", GetExhaustedAttrValue(idlist[i], valuelist[i]), GetExhaustedMaxLv(attrData.itemConfig.LV), valuelist[i]);
|
| | | break;
|
| | | }
|
| | | |
| | |
|
| | | if (attrSB.Length <= 0)
|
| | | {
|
| | | attrSB.Append(s);
|
| | |
| | | return attrSB.ToString();
|
| | | }
|
| | |
|
| | | private int GetExhaustedAttrValue(int attrId,int value)
|
| | | private int GetExhaustedAttrValue(int attrId, int value)
|
| | | {
|
| | | Equation.Instance.Clear();
|
| | | Equation.Instance.AddKeyValue("maxOOPValue",value);
|
| | | Equation.Instance.AddKeyValue("maxOOPValue", value);
|
| | | Equation.Instance.AddKeyValue("lv", PlayerDatas.Instance.baseData.LV);
|
| | | string formula = string.Empty;
|
| | | if(exhaustedAttrFormula.ContainsKey(attrId))
|
| | | if (exhaustedAttrFormula.ContainsKey(attrId))
|
| | | {
|
| | | formula = exhaustedAttrFormula[attrId];
|
| | | }
|
| | |
| | | public int GetExhaustedMaxLv(int equipLV)
|
| | | {
|
| | | int maxLv = 0;
|
| | | exhaustedMaxLvDict.TryGetValue(equipLV,out maxLv);
|
| | | exhaustedMaxLvDict.TryGetValue(equipLV, out maxLv);
|
| | | return maxLv;
|
| | | }
|
| | | #endregion
|
| | |
| | |
|
| | | public void SetTipsPos()
|
| | | {
|
| | | if(compareAttrData == null)
|
| | | if (compareAttrData == null)
|
| | | {
|
| | | if(curTips != null)
|
| | | if (curTips != null)
|
| | | {
|
| | | curTips.anchoredPosition3D = new Vector3(curTips.rect.width/2, curTips.rect.height / 2, 0);
|
| | | curTips.anchoredPosition3D = new Vector3(curTips.rect.width / 2, curTips.rect.height / 2, 0);
|
| | | }
|
| | | }
|
| | | else
|
| | |
| | | #endregion
|
| | |
|
| | | #region 解锁背包格子数据
|
| | | public int OpenCount
|
| | | {
|
| | | public int OpenCount {
|
| | | get; private set;
|
| | | }
|
| | |
|
| | | public PackType packType { get; private set; }
|
| | |
|
| | | public int Index
|
| | | {
|
| | | public int Index {
|
| | | get; private set;
|
| | | }
|
| | |
|
| | |
| | | #endregion
|
| | |
|
| | | #region 计算增加经验
|
| | | public ulong GetAddExpValue(int timeValue,int maxExpLv)
|
| | | public ulong GetAddExpValue(int timeValue, int maxExpLv)
|
| | | {
|
| | | PlayerLVConfig playerLVConfig = PlayerLVConfig.Get(PlayerDatas.Instance.baseData.LV);
|
| | | PlayerLVConfig maxLvConfig = PlayerLVConfig.Get(maxExpLv);
|
| | | int playerReExp = 0;
|
| | | int maxReExp = 0;
|
| | | if(playerLVConfig != null)
|
| | | if (playerLVConfig != null)
|
| | | {
|
| | | playerReExp = playerLVConfig.ReExp;
|
| | | }
|
| | | if(maxLvConfig != null)
|
| | | if (maxLvConfig != null)
|
| | | {
|
| | | maxReExp = maxLvConfig.ReExp;
|
| | | }
|
| | | else
|
| | | {
|
| | | if(maxExpLv <= 0)
|
| | | if (maxExpLv <= 0)
|
| | | {
|
| | | maxReExp = playerReExp;
|
| | | }
|
| | | }
|
| | | Equation.Instance.Clear();
|
| | | Equation.Instance.AddKeyValue("PlayerReExp",playerReExp);
|
| | | Equation.Instance.AddKeyValue("PlayerReExp", playerReExp);
|
| | | Equation.Instance.AddKeyValue("MaxReExp", maxReExp);
|
| | | Equation.Instance.AddKeyValue("TimeValue", timeValue);
|
| | | return Equation.Instance.Eval<ulong>(expValueFormula);
|
| | |
| | | #endregion
|
| | |
|
| | | #region 设置宠物和坐骑数据
|
| | | public Dictionary<int,int> GetPetSkillDict(int unlockId)
|
| | | public Dictionary<int, int> GetPetSkillDict(int unlockId)
|
| | | {
|
| | | if(unlockPetDict.ContainsKey(unlockId))
|
| | | if (unlockPetDict.ContainsKey(unlockId))
|
| | | {
|
| | | if(petSkillDict.ContainsKey(unlockPetDict[unlockId].ID))
|
| | | if (petSkillDict.ContainsKey(unlockPetDict[unlockId].ID))
|
| | | {
|
| | | return petSkillDict[unlockPetDict[unlockId].ID];
|
| | | }
|
| | |
| | | public string GetQualityName(int quality)
|
| | | {
|
| | | string nameStr = string.Empty;
|
| | | petAndMountQualityDict.TryGetValue(quality,out nameStr);
|
| | | petAndMountQualityDict.TryGetValue(quality, out nameStr);
|
| | | return nameStr;
|
| | | }
|
| | |
|
| | | public Dictionary<int,List<int>> GetMountSkillDict(int unlockId)
|
| | | public Dictionary<int, List<int>> GetMountSkillDict(int unlockId)
|
| | | {
|
| | | if(unlockMountDict.ContainsKey(unlockId))
|
| | | if (unlockMountDict.ContainsKey(unlockId))
|
| | | {
|
| | | if(mountSkillDict.ContainsKey(unlockMountDict[unlockId].HorseID))
|
| | | if (mountSkillDict.ContainsKey(unlockMountDict[unlockId].HorseID))
|
| | | {
|
| | | return mountSkillDict[unlockMountDict[unlockId].HorseID];
|
| | | }
|
| | |
| | | return null;
|
| | | }
|
| | |
|
| | | public void SetPetAttrStr(int attrId,int attrValue,out string attrName,out string attrValueStr,string contanctStr = "")
|
| | | public void SetPetAttrStr(int attrId, int attrValue, out string attrName, out string attrValueStr, string contanctStr = "")
|
| | | {
|
| | | attrName = "";
|
| | | attrValueStr = "";
|
| | | PlayerPropertyConfig playerProModel = null;
|
| | | if (attrId == (int)AttrEnum.MaxAtk || attrId == (int)AttrEnum.PetMaxAtk)
|
| | | if (attrId == (int)AttrEnum.MaxAtk || attrId == (int)AttrEnum.PetMaxAtk)
|
| | | {
|
| | | playerProModel = PlayerPropertyConfig.Get((int)AttrEnum.ATK);
|
| | | playerProModel = PlayerPropertyConfig.Get((int)AttrEnum.ATK);
|
| | | }
|
| | | else
|
| | | else
|
| | | {
|
| | | playerProModel = PlayerPropertyConfig.Get(attrId);
|
| | | playerProModel = PlayerPropertyConfig.Get(attrId);
|
| | | }
|
| | | |
| | |
|
| | | if (playerProModel != null)
|
| | | {
|
| | | attrName = playerProModel.Name;
|
| | |
| | |
|
| | | #region 物品增加战斗力
|
| | | PlayerMountDatas mountDatas { get { return ModelCenter.Instance.GetModel<PlayerMountDatas>(); } }
|
| | | public PlayerStrengthengDatas strengthengmodel
|
| | | {
|
| | | get
|
| | | {
|
| | | return ModelCenter.Instance.GetModel<PlayerStrengthengDatas>();
|
| | | public PlayerStrengthengDatas strengthengmodel {
|
| | | get {
|
| | | return ModelCenter.Instance.GetModel<PlayerStrengthengDatas>();
|
| | | }
|
| | | }
|
| | |
|
| | | public bool TryGetFightPowerByItemId(int itemId,out int fightPower)
|
| | | public bool TryGetFightPowerByItemId(int itemId, out int fightPower)
|
| | | {
|
| | | fightPower = 0;
|
| | | ItemConfig itemConfig = ItemConfig.Get(itemId);
|
| | |
| | | int atk = 0;
|
| | | int hp = 0;
|
| | | int def = 0;
|
| | | foreach(var attrId in itemEffectDict.Keys)
|
| | | foreach (var attrId in itemEffectDict.Keys)
|
| | | {
|
| | | var attrValue = itemEffectDict[attrId];
|
| | | switch ((AttrEnum)attrId)
|
| | |
| | | switch ((AttrEnum)key)
|
| | | {
|
| | | case AttrEnum.ATK:
|
| | | atk += Mathf.RoundToInt(stoneValue *((float)attrValue / 10000));
|
| | | atk += Mathf.RoundToInt(stoneValue * ((float)attrValue / 10000));
|
| | | break;
|
| | | case AttrEnum.HP:
|
| | | hp += Mathf.RoundToInt(stoneValue * ((float)attrValue / 10000));
|
| | |
| | | break;
|
| | | case AttrEnum.PlusBaseAtkPer:
|
| | | var strengthDict = GetStrengthAttrDict();
|
| | | if(strengthDict.ContainsKey((int)AttrEnum.ATK))
|
| | | if (strengthDict.ContainsKey((int)AttrEnum.ATK))
|
| | | {
|
| | | var strengthValue = strengthDict[(int)AttrEnum.ATK];
|
| | | atk += Mathf.RoundToInt(strengthValue * ((float)attrValue / 10000));
|
| | | }
|
| | | break;
|
| | | default:
|
| | | if(attrIdlist.Contains(attrId.ToString()))
|
| | | if (attrIdlist.Contains(attrId.ToString()))
|
| | | {
|
| | | attrDict.Add(attrId,attrValue);
|
| | | attrDict.Add(attrId, attrValue);
|
| | | }
|
| | | break;
|
| | | }
|
| | | }
|
| | | |
| | | if(atk > 0)
|
| | |
|
| | | if (atk > 0)
|
| | | {
|
| | | attrDict.Add((int)AttrEnum.ATK,atk);
|
| | | attrDict.Add((int)AttrEnum.ATK, atk);
|
| | | }
|
| | | |
| | | if(def > 0)
|
| | |
|
| | | if (def > 0)
|
| | | {
|
| | | attrDict.Add((int)AttrEnum.DEF,def);
|
| | | attrDict.Add((int)AttrEnum.DEF, def);
|
| | | }
|
| | | |
| | | if(hp > 0)
|
| | |
|
| | | if (hp > 0)
|
| | | {
|
| | | attrDict.Add((int)AttrEnum.HP,hp);
|
| | | attrDict.Add((int)AttrEnum.HP, hp);
|
| | | }
|
| | |
|
| | | fightPower = UIHelper.GetFightPower(attrDict);
|
| | | if(fruitlist.Contains(itemId.ToString()))
|
| | | if (fruitlist.Contains(itemId.ToString()))
|
| | | {
|
| | | var fruitConfig = AttrFruitConfig.Get(itemId);
|
| | | fightPower += fruitConfig.FightPowerEx;
|
| | | }
|
| | | return fightPower > 0;
|
| | | }
|
| | | |
| | | private Dictionary<int,int> GetStoneAttrDict()
|
| | |
|
| | | private Dictionary<int, int> GetStoneAttrDict()
|
| | | {
|
| | | Dictionary<int, int> attrDict = new Dictionary<int, int>();
|
| | | var stoneDict = PlayerStoneData.Instance.GetAllStone();
|
| | | foreach(var key in stoneDict.Keys)
|
| | | foreach (var key in stoneDict.Keys)
|
| | | {
|
| | | var stoneIds = stoneDict[key];
|
| | | var itemModel = playerPack.GetItemModelByIndex(PackType.Equip,key);
|
| | | var itemModel = playerPack.GetItemModelByIndex(PackType.Equip, key);
|
| | | if (itemModel != null && stoneIds != null)
|
| | | {
|
| | | for(int i = 0; i < stoneIds.Length; i++)
|
| | | for (int i = 0; i < stoneIds.Length; i++)
|
| | | {
|
| | | int stoneId = (int)stoneIds[i];
|
| | | ItemConfig itemConfig = ItemConfig.Get(stoneId);
|
| | | if(itemConfig != null)
|
| | | if (itemConfig != null)
|
| | | {
|
| | | var itemEffectDict = SetItemEffectDict(itemConfig);
|
| | | foreach (var attrId in itemEffectDict.Keys)
|
| | |
| | | return attrDict;
|
| | | }
|
| | |
|
| | | private Dictionary<int,int> GetRealmAttrDict()
|
| | | private Dictionary<int, int> GetRealmAttrDict()
|
| | | {
|
| | | Dictionary<int, int> attrDict = new Dictionary<int, int>();
|
| | | int realmLv = PlayerDatas.Instance.baseData.realmLevel;
|
| | | var realmConfig = RealmConfig.Get(realmLv);
|
| | | if(realmConfig != null)
|
| | | if (realmConfig != null)
|
| | | {
|
| | | var attrIds = realmConfig.AddAttrType;
|
| | | var attrValues = realmConfig.AddAttrNum;
|
| | | if(attrIds != null && attrValues != null
|
| | | if (attrIds != null && attrValues != null
|
| | | && attrIds.Length == attrValues.Length)
|
| | | {
|
| | | for (int i = 0; i < attrIds.Length; i++)
|
| | | {
|
| | | var attrId = attrIds[i];
|
| | | var attrValue = attrValues[i];
|
| | | if(attrValue > 0)
|
| | | if (attrValue > 0)
|
| | | {
|
| | | if (!attrDict.ContainsKey(attrId))
|
| | | {
|
| | |
| | | return attrDict;
|
| | | }
|
| | |
|
| | | private Dictionary<int,int> GetStrengthAttrDict()
|
| | | private Dictionary<int, int> GetStrengthAttrDict()
|
| | | {
|
| | | Dictionary<int, int> attrDict = new Dictionary<int, int>();
|
| | | var strengthDict = strengthengmodel._EqInfo;
|
| | | foreach(var index in strengthDict.Keys)
|
| | | foreach (var index in strengthDict.Keys)
|
| | | {
|
| | | var itemModel = playerPack.GetItemModelByIndex(PackType.Equip, index);
|
| | | if(itemModel != null)
|
| | | if (itemModel != null)
|
| | | {
|
| | | int lv = strengthengmodel.StrengthenTheCeiling(index);
|
| | | int type = strengthengmodel.GameDefineIndex(index);
|
| | |
| | | {
|
| | | var funcConfig = FuncConfigConfig.Get("FightpowerFormula");
|
| | | Equation.Instance.Clear();
|
| | | if(funcConfig != null)
|
| | | if (funcConfig != null)
|
| | | {
|
| | | Equation.Instance.AddKeyValue("equipScoreTotal",equipScore);
|
| | | Equation.Instance.AddKeyValue("equipScoreTotal", equipScore);
|
| | | return Equation.Instance.Eval<int>(funcConfig.Numerical2);
|
| | | }
|
| | | return 0;
|
| | |
| | | {
|
| | | string shareNumDes = string.Empty;
|
| | | List<int> idlist = null;
|
| | | bool isShare = playerPack.TryGetShareNumItem(itemId,out idlist);
|
| | | if(isShare)
|
| | | bool isShare = playerPack.TryGetShareNumItem(itemId, out idlist);
|
| | | if (isShare)
|
| | | {
|
| | | foreach (var id in idlist)
|
| | | {
|
| | |
| | |
|
| | | #region 判断是否展示模型
|
| | | public Dictionary<int, int> showModelAttrDict = new Dictionary<int, int>();
|
| | | public bool IsShowModel(int itemId,ModelShowPerfab showPerfab)
|
| | | public bool IsShowModel(int itemId, ModelShowPerfab showPerfab)
|
| | | {
|
| | | var config = ItemConfig.Get(itemId);
|
| | | if (config == null) return false;
|
| | |
| | | case 125:
|
| | | PetInfoConfig petInfo = unlockPetDict[config.EffectValueA1];
|
| | | fightPower = petInfo.ShowFightPower;
|
| | | showPerfab.SetModelShow(petInfo.ID, ModelShowType.pet, Language.Get("TreasureEffect103"),fightPower);
|
| | | showPerfab.SetModelShow(petInfo.ID, ModelShowType.pet, Language.Get("TreasureEffect103"), fightPower);
|
| | | return true;
|
| | | case 124:
|
| | | HorseConfig horseConfig = unlockMountDict[config.EffectValueA1];
|
| | | fightPower = horseConfig.ShowFightPower;
|
| | | showPerfab.SetModelShow(horseConfig.Model, ModelShowType.mount, Language.Get("TreasureEffect103"),fightPower);
|
| | | showPerfab.SetModelShow(horseConfig.Model, ModelShowType.mount, Language.Get("TreasureEffect103"), fightPower);
|
| | | return true;
|
| | | }
|
| | | bool isFashion = TryGetFashionFightPower(config,out fightPower);
|
| | | if(isFashion)
|
| | | bool isFashion = TryGetFashionFightPower(config, out fightPower);
|
| | | if (isFashion)
|
| | | {
|
| | | showPerfab.SetModelShow(itemId, ModelShowType.FashionDress, Language.Get("TreasureEffect103"),fightPower);
|
| | | showPerfab.SetModelShow(itemId, ModelShowType.FashionDress, Language.Get("TreasureEffect103"), fightPower);
|
| | | return true;
|
| | | }
|
| | |
|
| | | bool isMagic = TryGetMagicFightPower(config,out fightPower);
|
| | | if(isMagic)
|
| | | bool isMagic = TryGetMagicFightPower(config, out fightPower);
|
| | | if (isMagic)
|
| | | {
|
| | | showPerfab.SetModelShow(itemId, ModelShowType.Magic, Language.Get("TreasureEffect103"), fightPower);
|
| | | return true;
|
| | |
| | |
|
| | | return false;
|
| | | }
|
| | | |
| | | private bool TryGetFashionFightPower(ItemConfig itemConfig,out int fightPower)
|
| | |
|
| | | private bool TryGetFashionFightPower(ItemConfig itemConfig, out int fightPower)
|
| | | {
|
| | | showModelAttrDict.Clear();
|
| | | fightPower = 0;
|
| | |
| | |
|
| | | int fashionType = 0;
|
| | | int fashionId = 0;
|
| | | bool isFashion = TryGetItemFashionData(itemConfig.ID,out fashionType,out fashionId);
|
| | | if(isFashion)
|
| | | bool isFashion = TryGetItemFashionData(itemConfig.ID, out fashionType, out fashionId);
|
| | | if (isFashion)
|
| | | {
|
| | | List<int> fashionIds = null;
|
| | | fashionDress.TryGetFashionIds(fashionType, out fashionIds);
|
| | |
| | | return false;
|
| | | }
|
| | |
|
| | | public bool TryGetItemFashionData(int itemId,out int fashionType,out int fashionId)
|
| | | public bool TryGetItemFashionData(int itemId, out int fashionType, out int fashionId)
|
| | | {
|
| | | fashionType = 0;
|
| | | fashionId = 0;
|
| | |
| | | return false;
|
| | | }
|
| | |
|
| | | public bool TryGetMagicFightPower(ItemConfig itemConfig,out int fightPower)
|
| | | public bool TryGetMagicFightPower(ItemConfig itemConfig, out int fightPower)
|
| | | {
|
| | | fightPower = 0;
|
| | | var model = ModelCenter.Instance.GetModel<MagicianModel>();
|
| | |
| | | var magicConfigs = GodWeaponConfig.GetConfigs(magicType);
|
| | | int magicEffectStage = model.GetGodWeaponStage(magicType) + 1;
|
| | | magicEffectStage = magicEffectStage > 3 ? 3 : magicEffectStage;
|
| | | int magicEffectLevel = model.GetGodWeaponStageRequireLevel(magicType,magicEffectStage);
|
| | | int magicEffectLevel = model.GetGodWeaponStageRequireLevel(magicType, magicEffectStage);
|
| | | var magicInfo = model.GetGodWeaponInfo(magicType);
|
| | | int magicLevel = magicEffectLevel;
|
| | | int magicEffectPower = model.GetEffectRealFightPower(magicType,magicEffectStage);
|
| | | if(magicConfigs != null && magicInfo != null && magicEffectStage == 3)
|
| | | int magicEffectPower = model.GetEffectRealFightPower(magicType, magicEffectStage);
|
| | | if (magicConfigs != null && magicInfo != null && magicEffectStage == 3)
|
| | | {
|
| | | int maxLevel = magicConfigs[magicConfigs.Count - 1].Lv;
|
| | | if(magicInfo.level >= magicEffectLevel)
|
| | | if (magicInfo.level >= magicEffectLevel)
|
| | | {
|
| | | magicLevel = maxLevel;
|
| | | }
|
| | | }
|
| | | int attrFightPower = 0;
|
| | | var magicConfig = GodWeaponConfig.GetConfig(magicType,magicLevel);
|
| | | var magicConfig = GodWeaponConfig.GetConfig(magicType, magicLevel);
|
| | | var attrDict = new Dictionary<int, int>();
|
| | | if(magicConfig != null)
|
| | | if (magicConfig != null)
|
| | | {
|
| | | int[] attrIds = magicConfig.AttrType;
|
| | | int[] attrValues = magicConfig.AttrNum;
|
| | | for(int i = 0; i < attrIds.Length; i++)
|
| | | for (int i = 0; i < attrIds.Length; i++)
|
| | | {
|
| | | int attrId = attrIds[i];
|
| | | int attrValue = attrValues[i];
|
| | | attrDict.Add(attrId,attrValue);
|
| | | attrDict.Add(attrId, attrValue);
|
| | | }
|
| | | }
|
| | | attrFightPower = UIHelper.GetFightPower(attrDict);
|
| | |
| | | return true;
|
| | | }
|
| | |
|
| | | private void GetItemEffectDict(int itemId,out Dictionary<int,List<int>> dict)
|
| | | private void GetItemEffectDict(int itemId, out Dictionary<int, List<int>> dict)
|
| | | {
|
| | | var config = ItemConfig.Get(itemId);
|
| | | dict = new Dictionary<int, List<int>>();
|
| | | if (config == null) return;
|
| | |
|
| | | if(config.Effect1 != 0)
|
| | | if (config.Effect1 != 0)
|
| | | {
|
| | | List<int> valuelist = new List<int>();
|
| | | valuelist.Add(config.EffectValueA1);
|
| | | valuelist.Add(config.EffectValueB1);
|
| | | valuelist.Add(config.EffectValueC1);
|
| | | dict.Add(config.Effect1,valuelist);
|
| | | dict.Add(config.Effect1, valuelist);
|
| | | }
|
| | |
|
| | | if(config.Effect2 != 0)
|
| | | if (config.Effect2 != 0)
|
| | | {
|
| | | List<int> valuelist = new List<int>();
|
| | | valuelist.Add(config.EffectValueA2);
|
| | |
| | | public int index { get; private set; }
|
| | | public ulong count { get; private set; }
|
| | | public int isBind { get; private set; }
|
| | | public int unionWarehouseScore { get; private set;}
|
| | | public int unionWarehouseScore { get; private set; }
|
| | | public uint[] stones { get; private set; } //可镶嵌宝石数组 长度为0 未镶嵌 数值为0 未镶嵌
|
| | | public int score { get; private set; }
|
| | | public bool isCompare { get; private set;} //是否进行装备比较
|
| | | public bool isCompare { get; private set; } //是否进行装备比较
|
| | | public bool isPreview { get; private set; }//是否预览
|
| | | public ItemConfig itemConfig { get; private set; }
|
| | | public bool isCustom { get; private set; } //是否是定制物品
|
| | | public int level { get; private set; }//等级
|
| | | public int equipHole { get; private set; }//聚魂孔
|
| | | public ItemTipChildType ChildType { get; private set; } //决定当前面板打开哪个
|
| | | public Dictionary<int, List<int>> useDataDict { get; private set;}
|
| | | public Dictionary<int, List<int>> useDataDict { get; private set; }
|
| | | public Dictionary<int, int> strengthDataDict { get; private set; }
|
| | | public Dictionary<int, int> washDataDict { get; private set; }
|
| | | public Dictionary<int, int> legendDataDict { get; private set; }
|
| | | public Dictionary<int, int> exhaustedMaxDataDict { get; private set; }
|
| | | public Dictionary<int, int> wingsRefineMatDict { get; private set; }
|
| | | public Dictionary<ItemOperateType,Action<ItemOperateType,string>> tipsFuncBtnDic { get; private set; }
|
| | | public Dictionary<ItemOperateType, Action<ItemOperateType, string>> tipsFuncBtnDic { get; private set; }
|
| | |
|
| | | public Dictionary<SuitType,ItemSuitAttrData> suitAttrDataDict { get; private set; }
|
| | | public Dictionary<SuitType, ItemSuitAttrData> suitAttrDataDict { get; private set; }
|
| | | public Dictionary<SuitType, int> suitTypeCntDict { get; private set; }
|
| | |
|
| | | public bool isHavePutLimit { get; private set; }
|
| | | PlayerStrengthengDatas m_StrengthengModel;
|
| | | public PlayerStrengthengDatas strengthengmodel
|
| | | {
|
| | | get
|
| | | {
|
| | | public PlayerStrengthengDatas strengthengmodel {
|
| | | get {
|
| | | return m_StrengthengModel ?? (m_StrengthengModel = ModelCenter.Instance.GetModel<PlayerStrengthengDatas>());
|
| | | }
|
| | | }
|
| | |
|
| | | PackModelInterface _modelInterface;
|
| | | PackModelInterface modelInterface
|
| | | {
|
| | | PackModelInterface modelInterface {
|
| | | get { return _modelInterface ?? (_modelInterface = ModelCenter.Instance.GetModel<PackModelInterface>()); }
|
| | | }
|
| | |
|
| | | EquipWashModel _washModel;
|
| | | EquipWashModel washModel
|
| | | {
|
| | | get
|
| | | {
|
| | | EquipWashModel washModel {
|
| | | get {
|
| | | return _washModel ?? (_washModel = ModelCenter.Instance.GetModel<EquipWashModel>());
|
| | | }
|
| | | }
|
| | |
|
| | | ItemTipsModel _itemTipsModel;
|
| | | ItemTipsModel itemTipsModel
|
| | | {
|
| | | get
|
| | | {
|
| | | ItemTipsModel itemTipsModel {
|
| | | get {
|
| | | return _itemTipsModel ?? (_itemTipsModel = ModelCenter.Instance.GetModel<ItemTipsModel>());
|
| | | }
|
| | | }
|
| | |
|
| | | PlayerSuitModel _suitModel;
|
| | | PlayerSuitModel SuitModel
|
| | | {
|
| | | PlayerSuitModel SuitModel {
|
| | | get { return _suitModel ?? (_suitModel = ModelCenter.Instance.GetModel<PlayerSuitModel>()); }
|
| | | }
|
| | |
|
| | | RuneModel runeModel { get { return ModelCenter.Instance.GetModel<RuneModel>(); } }
|
| | | GodBeastModel beastModel { get { return ModelCenter.Instance.GetModel<GodBeastModel>(); } }
|
| | |
|
| | | public ItemAttrData(int id,bool isPreview = false,ulong count = 0,int index = -1, int isBind = 0,bool isCompare = false,PackType type = PackType.Deleted, string guid = "", Dictionary<int, List<int>> useDataDict = null,ItemTipChildType childType = ItemTipChildType.Normal)
|
| | | public ItemAttrData(int id, bool isPreview = false, ulong count = 0, int index = -1, int isBind = 0, bool isCompare = false, PackType type = PackType.Deleted, string guid = "", Dictionary<int, List<int>> useDataDict = null, ItemTipChildType childType = ItemTipChildType.Normal)
|
| | | {
|
| | | this.packType = type;
|
| | | this.itemConfig = ItemConfig.Get(id);
|
| | | this.tipsFuncBtnDic = new Dictionary<ItemOperateType, Action<ItemOperateType,string>>();
|
| | | this.tipsFuncBtnDic = new Dictionary<ItemOperateType, Action<ItemOperateType, string>>();
|
| | | this.guid = guid;
|
| | | this.itemId = id;
|
| | | this.count = count;
|
| | |
| | | this.level = 1;
|
| | | this.equipHole = -1;
|
| | | this.isCustom = CheckIsCustomItem();
|
| | | if(isCustom)
|
| | | if (isCustom)
|
| | | {
|
| | | AppointItemConfig appointItemConfig = AppointItemConfig.Get(itemId);
|
| | | if (appointItemConfig != null)
|
| | |
| | | {
|
| | | List<int> legendIdlist = null;
|
| | | List<int> legendValuelist = null;
|
| | | switch(itemConfig.EquipPlace)
|
| | | switch (itemConfig.EquipPlace)
|
| | | {
|
| | | case 11:
|
| | | SetWingsLegendAttrPreview(out legendIdlist,out legendValuelist);
|
| | | SetWingsLegendAttrPreview(out legendIdlist, out legendValuelist);
|
| | | break;
|
| | | case 1:
|
| | | case 2:
|
| | |
| | | case 9:
|
| | | case 10:
|
| | | case 12:
|
| | | SetEquipLegendAttrPreview(out legendIdlist,out legendValuelist);
|
| | | SetEquipLegendAttrPreview(out legendIdlist, out legendValuelist);
|
| | | break;
|
| | | case 101:
|
| | | case 102:
|
| | |
| | | }
|
| | |
|
| | | var packType = GeneralDefine.GetPackTypeByItemType(itemConfig.Type);
|
| | | switch(packType)
|
| | | switch (packType)
|
| | | {
|
| | | case PackType.JadeDynastyItem:
|
| | | SetJadeDynastyEquipLegendAttrPreview(out legendIdlist,out legendValuelist);
|
| | | SetJadeDynastyEquipLegendAttrPreview(out legendIdlist, out legendValuelist);
|
| | | break;
|
| | | }
|
| | |
|
| | | if(legendIdlist != null && legendValuelist != null)
|
| | | if (legendIdlist != null && legendValuelist != null)
|
| | | {
|
| | | if (legendIdlist.Count == legendValuelist.Count)
|
| | | {
|
| | |
| | | SetSuitData(itemId, index);
|
| | | }
|
| | |
|
| | | switch(type)
|
| | | switch (type)
|
| | | {
|
| | | case PackType.Equip:
|
| | | SetGemModel(PlayerStoneData.Instance.GetStoneInfo(index));
|
| | |
| | | case PackType.JadeDynastyEquip:
|
| | | JadeDynastyGemModel.GemEquipData equipData;
|
| | | var model = ModelCenter.Instance.GetModel<JadeDynastyGemModel>();
|
| | | var existGem=model.TryGetEquipGems(index + 121, out equipData);
|
| | | var existGem = model.TryGetEquipGems(index + 121, out equipData);
|
| | | SetGemModel(existGem ? equipData.items : null);
|
| | | break;
|
| | | }
|
| | |
| | | SetWingsRefineMat(GetUseDataModel((int)ItemUseDataKey.wingMaterialItemID), GetUseDataModel((int)ItemUseDataKey.wingMaterialItemCount));
|
| | | }
|
| | | }
|
| | | this.score = modelInterface.SetEquipScore(type,id,useDataDict,isPreview);
|
| | | PetEatEquipConfig petEatConfig = PetEatEquipConfig.GetEquipColorAndEquipClass(itemConfig.ItemColor,itemConfig.LV);//仙盟仓库装备积分兑换表
|
| | | this.score = modelInterface.SetEquipScore(type, id, useDataDict, isPreview);
|
| | | PetEatEquipConfig petEatConfig = PetEatEquipConfig.GetEquipColorAndEquipClass(itemConfig.ItemColor, itemConfig.LV);//仙盟仓库装备积分兑换表
|
| | | this.unionWarehouseScore = 0;
|
| | | if(petEatConfig != null)
|
| | | if (petEatConfig != null)
|
| | | {
|
| | | this.unionWarehouseScore = petEatConfig.integrate;
|
| | | }
|
| | |
|
| | | if(itemTipsModel.randomRuneIds.Contains(this.itemId))
|
| | | if (itemTipsModel.randomRuneIds.Contains(this.itemId))
|
| | | {
|
| | | Dictionary<int, List<int>> unlockRuneDict = runeModel.GetAllUnlockRuneIdlist();
|
| | | List<string> extraInfos = new List<string>();
|
| | | if(unlockRuneDict != null)
|
| | | if (unlockRuneDict != null)
|
| | | {
|
| | | foreach(var key in unlockRuneDict.Keys)
|
| | | foreach (var key in unlockRuneDict.Keys)
|
| | | {
|
| | | int runeId = unlockRuneDict[key][0];
|
| | | ItemConfig runeConfig = ItemConfig.Get(runeId);
|
| | | string effectDes = StringUtility.Contact(UIHelper.AppendStringColor(TextColType.Green, runeConfig.ItemName),":",Language.Get(StringUtility.Contact("RuneTypeDesc_",runeConfig.Effect1)));
|
| | | string effectDes = StringUtility.Contact(UIHelper.AppendStringColor(TextColType.Green, runeConfig.ItemName), ":", Language.Get(StringUtility.Contact("RuneTypeDesc_", runeConfig.Effect1)));
|
| | | extraInfos.Add(effectDes);
|
| | | }
|
| | | }
|
| | | SetExtraInfos(extraInfos.ToArray());
|
| | | }
|
| | |
|
| | | if(type == PackType.DogzEquip || type == PackType.DogzItem)
|
| | | if (type == PackType.DogzEquip || type == PackType.DogzItem)
|
| | | {
|
| | | strengthDataDict = new Dictionary<int, int>();
|
| | | if (GetUseDataModel((int)ItemUseDataKey.dogzEquipPlus) != null)
|
| | | {
|
| | | StrengthLV = GetUseDataModel((int)ItemUseDataKey.dogzEquipPlus)[0];
|
| | | }
|
| | | Dictionary<int,int> getStregthDict = beastModel.SiteEnhancementAttribute(type,index);
|
| | | foreach(var key in getStregthDict.Keys)
|
| | | Dictionary<int, int> getStregthDict = beastModel.SiteEnhancementAttribute(type, index);
|
| | | foreach (var key in getStregthDict.Keys)
|
| | | {
|
| | | strengthDataDict.Add(key,getStregthDict[key]);
|
| | | strengthDataDict.Add(key, getStregthDict[key]);
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | {
|
| | | attrCnt = itemTipsModel.legendAttrCntPreviewDict[attrCntKey][attrType];
|
| | | }
|
| | | if(attrCnt > 0)
|
| | | if (attrCnt > 0)
|
| | | {
|
| | | switch (attrType)
|
| | | {
|
| | |
| | | break;
|
| | | }
|
| | | }
|
| | | |
| | |
|
| | | }
|
| | | }
|
| | | int i = 0;
|
| | |
| | | private void SetJadeDynastyEquipLegendAttrPreview(out List<int> legendIdlist, out List<int> legendValuelist)
|
| | | {
|
| | | Dictionary<int, int> attrDict = null;
|
| | | itemTipsModel.TryGetJadeDynastyLegendAttr(itemId,out attrDict);
|
| | | itemTipsModel.TryGetJadeDynastyLegendAttr(itemId, out attrDict);
|
| | | legendIdlist = attrDict.Keys.ToList();
|
| | | legendValuelist = attrDict.Values.ToList();
|
| | | }
|
| | |
| | |
|
| | | if (itemTipsModel.randomRuneIds.Contains(itemConfig.ID))
|
| | | {
|
| | | return itemConfig.Description.Replace("{Rune}", GetExtraInfos());
|
| | | return itemConfig.Description.Replace("{Rune}", GetExtraInfos());
|
| | | }
|
| | | else
|
| | | {
|
| | |
| | | if (lv <= 0) return;
|
| | |
|
| | | strengthDataDict = new Dictionary<int, int>();
|
| | | itemPlus = ItemPlusConfig.GetItemPlusData(type,lv);
|
| | | itemPlus = ItemPlusConfig.GetItemPlusData(type, lv);
|
| | | if (itemPlus != null)
|
| | | {
|
| | | int[] attrIDs = itemPlus.attrIds;
|
| | |
| | | if (ids == null || ids.Count < 1) return;
|
| | |
|
| | | wingsRefineMatDict = new Dictionary<int, int>();
|
| | | for(int i = 0; i < ids.Count;i++)
|
| | | for (int i = 0; i < ids.Count; i++)
|
| | | {
|
| | | wingsRefineMatDict.Add(ids[i],nums[i]);
|
| | | wingsRefineMatDict.Add(ids[i], nums[i]);
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | {
|
| | | exhaustedMaxDataDict.Add(ids[i], values[i]);
|
| | | }
|
| | | |
| | |
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | |
| | | int i = 0;
|
| | | for (i = 0; i < values.Length; i++)
|
| | | {
|
| | | if(values[i] > 0)
|
| | | if (values[i] > 0)
|
| | | {
|
| | | isWash = true;
|
| | | break;
|
| | | }
|
| | | }
|
| | |
|
| | | if(!isWash)
|
| | | if (!isWash)
|
| | | {
|
| | | return;
|
| | | }
|
| | |
|
| | | washDataDict = new Dictionary<int, int>();
|
| | | this.tagWashModel = EquipWashConfig.GetEquipWashData(type, lv);
|
| | | if(this.tagWashModel != null)
|
| | | if (this.tagWashModel != null)
|
| | | {
|
| | | for (i = 0; i < values.Length; i++)
|
| | | {
|
| | |
| | | }
|
| | | }
|
| | | }
|
| | | |
| | |
|
| | | }
|
| | |
|
| | | //设置弹框的宝石数据
|
| | |
| | | /// 设置套装数据
|
| | | /// </summary>
|
| | | /// <param name="suitType"></param>
|
| | | public void SetSuitData(int itemId,int equipPlace)
|
| | | public void SetSuitData(int itemId, int equipPlace)
|
| | | {
|
| | | suitAttrDataDict = null;
|
| | | suitTypeCntDict = null;
|
| | |
|
| | | |
| | | Dictionary<int,int> suitTypeDict = SuitModel.GetServerSuitModelByPlace(index);
|
| | |
|
| | | Dictionary<int, int> suitTypeDict = SuitModel.GetServerSuitModelByPlace(index);
|
| | | if (suitTypeDict == null) return;
|
| | |
|
| | | suitAttrDataDict = new Dictionary<SuitType, ItemSuitAttrData>();
|
| | |
| | | int equipJob = SuitModel.GetEquipJob(itemId);
|
| | | foreach (var type in suitTypeDict.Keys)
|
| | | {
|
| | | bool isMaker = SuitModel.IsMakerSuit((SuitType)type,itemConfig.ItemColor,itemConfig.StarLevel);
|
| | | bool isMaker = SuitModel.IsMakerSuit((SuitType)type, itemConfig.ItemColor, itemConfig.StarLevel);
|
| | |
|
| | | if (suitTypeDict[type] > 0 && isMaker)
|
| | | {
|
| | | |
| | |
|
| | | List<int> placelist = null;
|
| | | int suitCnt = 0;
|
| | | ItemSuitAttrData suitAttrData = default(ItemSuitAttrData);
|
| | | if (this.itemConfig.LV < suitTypeDict[type])
|
| | | {
|
| | | suitAttrData = new ItemSuitAttrData(groupType, type, this.itemConfig.LV, equipJob);
|
| | | suitCnt = SuitModel.GetSameSuitCnt((SuitType)type, equipPlace,this.itemConfig.LV, out placelist, equipJob);
|
| | | suitCnt = SuitModel.GetSameSuitCnt((SuitType)type, equipPlace, this.itemConfig.LV, out placelist, equipJob);
|
| | | }
|
| | | else
|
| | | {
|
| | |
| | | }
|
| | |
|
| | | //设置其他玩家的套装数据
|
| | | public void SetOtherSuitData(int itemId,int equipPlace,Dictionary<int,int> suitTypeDict,Dictionary<SuitType,int> suitCntDict)
|
| | | public void SetOtherSuitData(int itemId, int equipPlace, Dictionary<int, int> suitTypeDict, Dictionary<SuitType, int> suitCntDict)
|
| | | {
|
| | | this.suitAttrDataDict = null;
|
| | | this.suitTypeCntDict = null;
|
| | |
| | | public int GetSuitCntByType(SuitType suitType)
|
| | | {
|
| | | int cnt = 0;
|
| | | if(this.suitTypeCntDict != null)
|
| | | if (this.suitTypeCntDict != null)
|
| | | {
|
| | | this.suitTypeCntDict.TryGetValue(suitType, out cnt);
|
| | | }
|
| | |
| | | remainTime = itemConfig.ExpireTime;
|
| | | var getTimes = GetUseDataModel((int)ItemUseDataKey.createTime);
|
| | | var serverSurplusTimes = GetUseDataModel((int)ItemUseDataKey.totalTime);
|
| | | if(remainTime > 0)
|
| | | if (remainTime > 0)
|
| | | {
|
| | | if (getTimes != null)
|
| | | {
|
| | |
| | | }
|
| | | return true;
|
| | | }
|
| | | |
| | |
|
| | | }
|
| | | return false;
|
| | | }
|
| | |
| | | legendValuelist = new List<int>();
|
| | | for (i = 0; i < appointItemConfig.LegendAttrID.Length; i++)
|
| | | {
|
| | | if(appointItemConfig.LegendAttrID[i] != 0)
|
| | | if (appointItemConfig.LegendAttrID[i] != 0)
|
| | | {
|
| | | legendIdlist.Add(appointItemConfig.LegendAttrID[i]);
|
| | | legendValuelist.Add(appointItemConfig.LegendAttrValue[i]);
|
| | |
| | | exhaustedValuelist = new List<int>();
|
| | | for (i = 0; i < appointItemConfig.OutOfPrintAttr.Length; i++)
|
| | | {
|
| | | if(appointItemConfig.OutOfPrintAttr[i] != 0)
|
| | | if (appointItemConfig.OutOfPrintAttr[i] != 0)
|
| | | {
|
| | | exhaustedIdlist.Add(appointItemConfig.OutOfPrintAttr[i]);
|
| | | exhaustedValuelist.Add(appointItemConfig.OutOfPrintAttrValue[i]);
|
| | |
| | | }
|
| | | }
|
| | | SetLegendData(legendIdlist, legendValuelist);
|
| | | SetExhaustedData(exhaustedIdlist,exhaustedValuelist);
|
| | | SetExhaustedData(exhaustedIdlist, exhaustedValuelist);
|
| | | //SetSuitData(appointItemConfig.SuiteLv);
|
| | |
|
| | | }
|
| | |
| | | /// </summary>
|
| | | /// <param name="type"></param>
|
| | | /// <param name="func"></param>
|
| | | public void SetTipsFuncBtn(ItemOperateType type, Action<ItemOperateType,string> func)
|
| | | public void SetTipsFuncBtn(ItemOperateType type, Action<ItemOperateType, string> func)
|
| | | {
|
| | | tipsFuncBtnDic.Add(type,func);
|
| | | tipsFuncBtnDic.Add(type, func);
|
| | | }
|
| | |
|
| | | public void SetGatherSoul(int level, int equipHole, PackType packType = PackType.Deleted, int index = -1)
|
| | |
| | | public int[] thirdSuitAttrs { get; private set; }
|
| | | public int[] thirdSuitAttrValues { get; private set; }
|
| | |
|
| | | public ItemSuitAttrData(int groupType,int suitType,int suitLv,int equipJob)
|
| | | public ItemSuitAttrData(int groupType, int suitType, int suitLv, int equipJob)
|
| | | {
|
| | | var suitAttrData = EquipSuitAttrConfig.GetSuitAttrData(groupType, suitType, suitLv, equipJob);
|
| | | if (suitAttrData != null)
|