| | |
| | | using System.Collections.Generic; |
| | | using UnityEngine; |
| | | using System; |
| | | using System.Reflection; |
| | | using LitJson; |
| | | |
| | | namespace Snxxz.UI |
| | | { |
| | |
| | | public event Action selectedLevelChangeEvent; |
| | | Dictionary<int, EquipDetailsGroup> equipDetailsGroups = new Dictionary<int, EquipDetailsGroup>(); |
| | | |
| | | RoleParticularModel roleParticularModel { get { return ModelCenter.Instance.GetModel<RoleParticularModel>(); } } |
| | | |
| | | public override void Init() |
| | | { |
| | | |
| | |
| | | } |
| | | else |
| | | { |
| | | //向服务端请求装备信息 |
| | | switch (roleParticularModel.viewPlayerType) |
| | | { |
| | | case 4: |
| | | case 7: |
| | | { |
| | | var sendInfo = new CC002_tagCGViewCrossPlayerInfo(); |
| | | sendInfo.PlayerID = (uint)roleParticularModel.viewPlayer; |
| | | GameNetSystem.Instance.SendInfo(sendInfo); |
| | | } |
| | | break; |
| | | case 5: |
| | | case 6: |
| | | { |
| | | var sendInfo = new CA212_tagCMViewPlayerInfo(); |
| | | sendInfo.PlayerID = (uint)roleParticularModel.viewPlayer; |
| | | sendInfo.EquipClassLV = (byte)level; |
| | | GameNetSystem.Instance.SendToCrossServer(sendInfo); |
| | | } |
| | | break; |
| | | default: |
| | | { |
| | | var sendInfo = new CA212_tagCMViewPlayerInfo(); |
| | | sendInfo.PlayerID = (uint)roleParticularModel.viewPlayer; |
| | | sendInfo.EquipClassLV = (byte)level; |
| | | GameNetSystem.Instance.SendInfo(sendInfo); |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | public void OnGetEquipDetails() |
| | | public void OnGetEquipDetails(HA719_tagSCPlayerEquipCacheResult info) |
| | | { |
| | | |
| | | } |
| | |
| | | { |
| | | var equipDetailsGroup = equipDetailsGroups[selectedLevel]; |
| | | var equipBriefs = new Dictionary<int, EquipBrief>(); |
| | | foreach (var details in equipDetailsGroup.EquipDetails.Values) |
| | | foreach (var details in equipDetailsGroup.equips.Values) |
| | | { |
| | | var config = ItemConfig.Get(details.itemId); |
| | | equipBriefs[config.EquipPlace] = new EquipBrief() |
| | |
| | | return default(ItemTipUtility.OtherPlayerEquipInfo); |
| | | } |
| | | |
| | | if (equipDetailsGroups[level].EquipDetails.ContainsKey(place)) |
| | | if (equipDetailsGroups[level].equips.ContainsKey(place)) |
| | | { |
| | | return default(ItemTipUtility.OtherPlayerEquipInfo); |
| | | } |
| | | |
| | | var details = equipDetailsGroups[level].EquipDetails[place]; |
| | | var details = equipDetailsGroups[level].equips[place]; |
| | | |
| | | return new ItemTipUtility.OtherPlayerEquipInfo(); |
| | | } |
| | |
| | | { |
| | | public int itemId; |
| | | public int star; |
| | | public int strengthLevel; |
| | | public int evolveLevel; |
| | | public List<int> stones = new List<int>(); |
| | | public int trainLevel; |
| | | public List<int> trainValues = new List<int>(); |
| | | public List<Int2> legendProperties = new List<Int2>(); |
| | | |
| | | public EquipDetails(JsonData serverInfo) |
| | | { |
| | | itemId = (int)serverInfo["ItemID"]; |
| | | star = serverInfo.Keys.Contains("Star") ? (int)serverInfo["Star"] : 0; |
| | | strengthLevel = serverInfo.Keys.Contains("PlusLV") ? (int)serverInfo["PlusLV"] : 0; |
| | | evolveLevel = serverInfo.Keys.Contains("EvolveLV") ? (int)serverInfo["EvolveLV"] : 0; |
| | | |
| | | if (serverInfo.Keys.Contains("Stone")) |
| | | { |
| | | var stoneJson = serverInfo["Stone"]; |
| | | for (int i = 0; i < stoneJson.Count; i++) |
| | | { |
| | | stones.Add((int)stoneJson[i]); |
| | | } |
| | | } |
| | | |
| | | if (serverInfo.Keys.Contains("Wash")) |
| | | { |
| | | var washJson = serverInfo["Wash"]; |
| | | trainLevel = (int)washJson["LV"]; |
| | | |
| | | var washValueJson = washJson["Value"]; |
| | | for (int i = 0; i < washValueJson.Count; i++) |
| | | { |
| | | trainValues.Add((int)washValueJson[i]); |
| | | } |
| | | } |
| | | |
| | | if (serverInfo.Keys.Contains("UserData")) |
| | | { |
| | | var userDataJson = serverInfo["UserData"]; |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | public class EquipDetailsGroup |
| | | { |
| | | public int level = 0; |
| | | public int fightPoint = 0; |
| | | public Dictionary<int, EquipDetails> EquipDetails = new Dictionary<int, EquipDetails>(); |
| | | public readonly int level = 0; |
| | | public readonly int fightPoint = 0; |
| | | public Dictionary<int, EquipDetails> equips = new Dictionary<int, EquipDetails>(); |
| | | |
| | | public EquipDetailsGroup(int level, string equipInfo) |
| | | { |
| | | this.level = level; |
| | | var json = JsonMapper.ToObject(equipInfo); |
| | | foreach (var key in json.Keys) |
| | | { |
| | | var serverPlace = 0; |
| | | int.TryParse(key, out serverPlace); |
| | | if (serverPlace == 0) |
| | | { |
| | | continue; |
| | | } |
| | | |
| | | var equipPosition = EquipSet.ServerPlaceToClientPlace(serverPlace); |
| | | equips[equipPosition.y] = new EquipDetails(json[key]); |
| | | } |
| | | |
| | | fightPoint = EquipFightPower.Instance.CalculatePower(); |
| | | } |
| | | |
| | | } |
| | | |
| | | |