| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Text.RegularExpressions; |
| | | using LitJson; |
| | | using UnityEngine; |
| | | using Snxxz.UI; |
| | | /**集市信息 */ |
| | | public class PlayerMarketData |
| | | { |
| | | public static event Action OnRefreshPutaway; |
| | | |
| | | #region 玩家个人上架物品 |
| | | public int putawayCnt = 0; |
| | | |
| | | public List<MarketItemData> putawayList = new List<MarketItemData>(); |
| | | |
| | | public void OnRefreshMarket(H1B01_tagPlayerBourseItemResult vNetData) |
| | | { |
| | | for (int i = 0; i < vNetData.ItemCount; i++) |
| | | { |
| | | if (i < putawayList.Count) |
| | | { |
| | | SetMarketItemData(putawayList[i], vNetData.ItemList[i]); |
| | | } |
| | | else |
| | | { |
| | | MarketItemData data = new MarketItemData(); |
| | | SetMarketItemData(data, vNetData.ItemList[i]); |
| | | putawayList.Add(data); |
| | | } |
| | | } |
| | | for (int i = putawayList.Count - 1; i >= vNetData.ItemCount; i--) |
| | | { |
| | | MarketItemData data = putawayList[i]; |
| | | putawayList.RemoveAt(i); |
| | | data = null; |
| | | } |
| | | putawayCnt = vNetData.ItemCount; |
| | | if (OnRefreshPutaway != null) OnRefreshPutaway(); |
| | | } |
| | | |
| | | public void SetMarketItemData(MarketItemData data, H1B01_tagPlayerBourseItemResult.tagBourseItem source) |
| | | { |
| | | data.ItemGUID = source.ItemGUID; |
| | | data.PlayerID = source.PlayerID; |
| | | data.ItemTypeID = source.ItemTypeID; |
| | | data.PriceType = source.PriceType; |
| | | data.PriceCount = source.PriceCount; |
| | | data.Count = source.Count; |
| | | data.UserDataLen = source.UserDataLen; |
| | | data.UserData = source.UserData; |
| | | data.NeadPwd = source.NeadPwd; |
| | | data.EquipGS = source.EquipGS; |
| | | } |
| | | #endregion |
| | | |
| | | #region 集市交易记录 |
| | | public List<MarketDealRecordData> dealRecordList = new List<MarketDealRecordData>(); |
| | | |
| | | public static event Action OnRefreshDealRecord; |
| | | |
| | | public void OnRefreshMarket(HA9AB_tagGCBourseRecordInfo vNetData) |
| | | { |
| | | for (int i = 0; i < vNetData.Count; i++) |
| | | { |
| | | MarketDealRecordData data = null; |
| | | if (dealRecordList.Count >= ModelCenter.Instance.GetModel<MarketModel>().dealRecordCnt) |
| | | { |
| | | dealRecordList.Sort(Compare); |
| | | var _index = dealRecordList.Count - 1; |
| | | data = dealRecordList[_index]; |
| | | dealRecordList.RemoveAt(_index); |
| | | } |
| | | else |
| | | { |
| | | data = new MarketDealRecordData(); |
| | | } |
| | | SetDealRecordData(data, vNetData.RecordList[i]); |
| | | dealRecordList.Add(data); |
| | | } |
| | | if (OnRefreshDealRecord != null) |
| | | { |
| | | OnRefreshDealRecord(); |
| | | } |
| | | } |
| | | |
| | | int Compare(MarketDealRecordData x, MarketDealRecordData y) |
| | | { |
| | | return -x.Timestamp.CompareTo(y.Timestamp); |
| | | } |
| | | |
| | | public void SetDealRecordData(MarketDealRecordData data, HA9AB_tagGCBourseRecordInfo.tagGCBourseRecord source) |
| | | { |
| | | data.ItemData = source.ItemData; |
| | | data.Timestamp = source.Timestamp; |
| | | data.TradeMoney = source.TradeMoney; |
| | | data.TradeTax = source.TradeTax; |
| | | data.Type = source.Type; |
| | | data.AnalysisItemData(); |
| | | } |
| | | #endregion |
| | | |
| | | public void ClearMarketData() |
| | | { |
| | | dealRecordList.Clear(); |
| | | putawayList.Clear(); |
| | | } |
| | | } |
| | | public class MarketItemData |
| | | { |
| | | public string ItemGUID; |
| | | |
| | | public uint PlayerID; //挂单玩家ID |
| | | |
| | | public uint ItemTypeID; //物品ID |
| | | |
| | | public byte PriceType; //出售价格类型 |
| | | |
| | | public uint PriceCount; //出售价格 |
| | | |
| | | public ushort Count; //单组数量 |
| | | |
| | | public uint UserDataLen; |
| | | |
| | | public string UserData; //自定义数据 |
| | | |
| | | public byte NeadPwd; //是否有交易密码 |
| | | |
| | | public uint EquipGS; //装备评分 |
| | | } |
| | | public class MarketDealRecordData |
| | | { |
| | | |
| | | public byte Type; //类型 0-购买 1-卖出 |
| | | |
| | | public uint Timestamp; //时间戳 |
| | | |
| | | public uint TradeTax; //交易税 |
| | | |
| | | public uint TradeMoney; //收支 |
| | | |
| | | public ushort ItemDataLen; |
| | | |
| | | public string ItemData; //自定义数据 |
| | | |
| | | public ItemJosnData itemdata; |
| | | [Serializable] |
| | | public class ItemJosnData |
| | | { |
| | | public int itemID; |
| | | |
| | | public string userData; |
| | | |
| | | public uint equipGS; |
| | | |
| | | public uint count; |
| | | } |
| | | |
| | | public void AnalysisItemData() |
| | | { |
| | | itemdata = JsonUtility.FromJson<ItemJosnData>(ItemData); |
| | | } |
| | | using System;
|
| | | using System.Collections.Generic;
|
| | | using System.Text.RegularExpressions;
|
| | | using LitJson;
|
| | | using UnityEngine;
|
| | | using Snxxz.UI;
|
| | | /**集市信息 */
|
| | | public class PlayerMarketData
|
| | | {
|
| | | public static event Action OnRefreshPutaway;
|
| | |
|
| | | #region 玩家个人上架物品
|
| | | public int putawayCnt = 0;
|
| | |
|
| | | public List<MarketItemData> putawayList = new List<MarketItemData>();
|
| | |
|
| | | public void OnRefreshMarket(H1B01_tagPlayerBourseItemResult vNetData)
|
| | | {
|
| | | for (int i = 0; i < vNetData.ItemCount; i++)
|
| | | {
|
| | | if (i < putawayList.Count)
|
| | | {
|
| | | SetMarketItemData(putawayList[i], vNetData.ItemList[i]);
|
| | | }
|
| | | else
|
| | | {
|
| | | MarketItemData data = new MarketItemData();
|
| | | SetMarketItemData(data, vNetData.ItemList[i]);
|
| | | putawayList.Add(data);
|
| | | }
|
| | | }
|
| | | for (int i = putawayList.Count - 1; i >= vNetData.ItemCount; i--)
|
| | | {
|
| | | MarketItemData data = putawayList[i];
|
| | | putawayList.RemoveAt(i);
|
| | | data = null;
|
| | | }
|
| | | putawayCnt = vNetData.ItemCount;
|
| | | if (OnRefreshPutaway != null) OnRefreshPutaway();
|
| | | }
|
| | |
|
| | | public void SetMarketItemData(MarketItemData data, H1B01_tagPlayerBourseItemResult.tagBourseItem source)
|
| | | {
|
| | | data.ItemGUID = source.ItemGUID;
|
| | | data.PlayerID = source.PlayerID;
|
| | | data.ItemTypeID = source.ItemTypeID;
|
| | | data.PriceType = source.PriceType;
|
| | | data.PriceCount = source.PriceCount;
|
| | | data.Count = source.Count;
|
| | | data.UserData = ConfigParse.Analysis(source.UserData);
|
| | | data.NeadPwd = source.NeadPwd;
|
| | | data.EquipGS = source.EquipGS;
|
| | | }
|
| | | #endregion
|
| | |
|
| | | #region 集市交易记录
|
| | | public List<MarketDealRecordData> dealRecordList = new List<MarketDealRecordData>();
|
| | |
|
| | | public static event Action OnRefreshDealRecord;
|
| | |
|
| | | public void OnRefreshMarket(HA9AB_tagGCBourseRecordInfo vNetData)
|
| | | {
|
| | | for (int i = 0; i < vNetData.Count; i++)
|
| | | {
|
| | | MarketDealRecordData data = null;
|
| | | if (dealRecordList.Count >= ModelCenter.Instance.GetModel<MarketModel>().dealRecordCnt)
|
| | | {
|
| | | dealRecordList.Sort(Compare);
|
| | | var _index = dealRecordList.Count - 1;
|
| | | data = dealRecordList[_index];
|
| | | dealRecordList.RemoveAt(_index);
|
| | | }
|
| | | else
|
| | | {
|
| | | data = new MarketDealRecordData();
|
| | | }
|
| | | SetDealRecordData(data, vNetData.RecordList[i]);
|
| | | dealRecordList.Add(data);
|
| | | }
|
| | | if (OnRefreshDealRecord != null)
|
| | | {
|
| | | OnRefreshDealRecord();
|
| | | }
|
| | | }
|
| | |
|
| | | int Compare(MarketDealRecordData x, MarketDealRecordData y)
|
| | | {
|
| | | return -x.Timestamp.CompareTo(y.Timestamp);
|
| | | }
|
| | |
|
| | | public void SetDealRecordData(MarketDealRecordData data, HA9AB_tagGCBourseRecordInfo.tagGCBourseRecord source)
|
| | | {
|
| | | data.ItemData = source.ItemData;
|
| | | data.Timestamp = source.Timestamp;
|
| | | data.TradeMoney = source.TradeMoney;
|
| | | data.TradeTax = source.TradeTax;
|
| | | data.Type = source.Type;
|
| | | data.AnalysisItemData();
|
| | | }
|
| | | #endregion
|
| | |
|
| | | public void ClearMarketData()
|
| | | {
|
| | | dealRecordList.Clear();
|
| | | putawayList.Clear();
|
| | | }
|
| | | }
|
| | | public class MarketItemData
|
| | | {
|
| | | public string ItemGUID;
|
| | |
|
| | | public uint PlayerID; //挂单玩家ID |
| | |
|
| | | public uint ItemTypeID; //物品ID
|
| | |
|
| | | public byte PriceType; //出售价格类型
|
| | |
|
| | | public uint PriceCount; //出售价格
|
| | |
|
| | | public ushort Count; //单组数量
|
| | |
|
| | | public Dictionary<int, List<int>> UserData; //自定义数据
|
| | |
|
| | | public byte NeadPwd; //是否有交易密码
|
| | |
|
| | | public uint EquipGS; //装备评分
|
| | | }
|
| | | public class MarketDealRecordData
|
| | | {
|
| | |
|
| | | public byte Type; //类型 0-购买 1-卖出
|
| | |
|
| | | public uint Timestamp; //时间戳
|
| | |
|
| | | public uint TradeTax; //交易税
|
| | |
|
| | | public uint TradeMoney; //收支
|
| | |
|
| | | public ushort ItemDataLen;
|
| | |
|
| | | public string ItemData; //自定义数据
|
| | |
|
| | | public Dictionary<int, List<int>> UserData;
|
| | |
|
| | | public ItemJosnData itemdata;
|
| | | [Serializable]
|
| | | public class ItemJosnData
|
| | | {
|
| | | public int itemID;
|
| | |
|
| | | public string userData;
|
| | |
|
| | | public uint equipGS;
|
| | |
|
| | | public uint count;
|
| | | }
|
| | |
|
| | | public void AnalysisItemData()
|
| | | {
|
| | | itemdata = JsonUtility.FromJson<ItemJosnData>(ItemData);
|
| | | if (itemdata != null)
|
| | | {
|
| | | UserData = ConfigParse.Analysis(itemdata.userData);
|
| | | }
|
| | | }
|
| | | } |