| | |
| | | }
|
| | | }
|
| | |
|
| | | PlayerSuitModel _suitModel;
|
| | | PlayerSuitModel suitModel
|
| | | {
|
| | | get { return _suitModel ?? (_suitModel = ModelCenter.Instance.GetModel<PlayerSuitModel>()); }
|
| | | }
|
| | |
|
| | | public RichTableEvent()
|
| | | {
|
| | | RichTextMgr.Inst.RegisterEvent(RichTextEventEnum.TABLE, this);
|
| | |
| | | index = int.Parse(hrefInfo.mSplits["place"]);
|
| | | }
|
| | |
|
| | | equipSuitList.Clear();
|
| | | suitCountDict.Clear();
|
| | | if (hrefInfo.mSplits.ContainsKey("equippartsuite")
|
| | | && hrefInfo.mSplits["equippartsuite"] != string.Empty)
|
| | | {
|
| | |
| | | catch (Exception e)
|
| | | {
|
| | | DebugEx.Log(e.Message);
|
| | | }
|
| | | if (_json != null)
|
| | | {
|
| | | foreach (var _key in _json.Keys)
|
| | | {
|
| | | var _index = int.Parse(_key);
|
| | | RoleParticularModel.EquipSuit _suit = new RoleParticularModel.EquipSuit()
|
| | | {
|
| | | Index = _index,
|
| | | suitDict = new Dictionary<int, int>()
|
| | | };
|
| | | foreach (var _subKey in _json[_key].Keys)
|
| | | {
|
| | | var _type = int.Parse(_subKey);
|
| | | var _val = int.Parse(_json[_key][_subKey].ToJson());
|
| | | _suit.Add(_type, _val);
|
| | | }
|
| | | equipSuitList.Add(_suit);
|
| | | }
|
| | | for (int i = 0; i < equipSuitList.Count; i++)
|
| | | {
|
| | | var _suit = equipSuitList[i];
|
| | | Dictionary<SuitType, int> _dict = new Dictionary<SuitType, int>();
|
| | | suitCountDict.Add(_suit.Index, _dict);
|
| | | if (_suit.suitDict.ContainsKey((int)SuitType.HighSuit))
|
| | | {
|
| | | _dict.Add(SuitType.HighSuit, GetEquipSuitCount(SuitType.HighSuit, _suit.Index,
|
| | | _suit.suitDict[(int)SuitType.HighSuit]));
|
| | | }
|
| | | if (_suit.suitDict.ContainsKey((int)SuitType.LowSuit))
|
| | | {
|
| | | _dict.Add(SuitType.LowSuit, GetEquipSuitCount(SuitType.LowSuit, _suit.Index,
|
| | | _suit.suitDict[(int)SuitType.LowSuit]));
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | Dictionary<SuitType, int> suitCntDict = null;
|
| | | if (hrefInfo.mSplits.ContainsKey("suitcnt"))
|
| | | {
|
| | | suitCntDict = new Dictionary<SuitType, int>();
|
| | | string suitCntData = hrefInfo.mSplits["suitcnt"];
|
| | | string[] split_data = suitCntData.Split('\'');
|
| | | for (int i = 0; i < split_data.Length; i++)
|
| | | {
|
| | | string[] split_value = split_data[i].Split('_');
|
| | | if (split_value.Length == 2)
|
| | | {
|
| | | int key = int.Parse(split_value[0]);
|
| | | suitCntDict.Add((SuitType)key, int.Parse(split_value[1]));
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | ItemAttrData attrData = new ItemAttrData(itemId, false, (ulong)itemCount, -1, isBind, false, PackType.Deleted,
|
| | | "", userdatadic);
|
| | | attrData.SetGemModel(stone);
|
| | | attrData.SetStrengthData(strengthenLv, GetStrengthenType(itemId));
|
| | | if (equipSuitList.Count != 0)
|
| | | {
|
| | | var _suit = equipSuitList.Find((x) =>
|
| | | {
|
| | | return x.Index == index;
|
| | | });
|
| | | if (!_suit.Equals(default(RoleParticularModel.EquipSuit)))
|
| | | {
|
| | | attrData.SetOtherSuitData(itemId, index, _suit.suitDict,
|
| | | suitCountDict.ContainsKey(index) ? suitCountDict[index] : null);
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | attrData.SetOtherSuitData(itemId, index, suitLvDict, suitCntDict);
|
| | | }
|
| | | if (!_equipWash.Equals(default(RoleParticularModel.EquipWash)))
|
| | | {
|
| | | attrData.SetWashModel(equipWashModel.OnGetWashType(index), _equipWash.LV, _equipWash.Value);
|
| | |
| | | }
|
| | |
|
| | | List<RoleParticularModel.EquipSuit> equipSuitList = new List<RoleParticularModel.EquipSuit>();
|
| | | Dictionary<int, Dictionary<SuitType, int>> suitCountDict = new Dictionary<int, Dictionary<SuitType, int>>();
|
| | | int[][] equipItems = null;
|
| | |
|
| | | public int GetItem(int _index)
|
| | |
| | | default:
|
| | | return Language.Get("EquipSuitWhite");
|
| | | }
|
| | | }
|
| | |
|
| | | public int GetEquipSuitCount(SuitType _type, int _index, int suitLv)
|
| | | {
|
| | | var _count = 0;
|
| | | for (int i = 0; i < equipSuitList.Count; i++)
|
| | | {
|
| | | var _suit = equipSuitList[i];
|
| | | if (suitModel.GetGroupType(_suit.Index) == suitModel.GetGroupType(_index))
|
| | | {
|
| | | if (_suit.suitDict.ContainsKey((int)_type) && _suit.suitDict[(int)_type] > 0)
|
| | | {
|
| | | var _suitLv = _suit.suitDict[(int)_type];
|
| | | int _item = GetItem(_suit.Index);
|
| | | var _itemCfg = ItemConfig.Get(_item);
|
| | | if (_itemCfg == null)
|
| | | {
|
| | | continue;
|
| | | }
|
| | | if (suitModel.IsMakerSuit(_type, _itemCfg.ItemColor, _itemCfg.StarLevel))
|
| | | {
|
| | | if (_itemCfg.LV < _suit.suitDict[(int)_type])
|
| | | {
|
| | | _suitLv = _itemCfg.LV;
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | _suitLv = 0;
|
| | | }
|
| | | if (_suitLv == suitLv)
|
| | | {
|
| | | _count++;
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | | return _count;
|
| | | }
|
| | |
|
| | | public static int GetStrengthenType(int _id)
|