| | |
| | | } |
| | | public class AuctionInquiryModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk
|
| | | {
|
| | | public List<AuctionItem> FullServiceAuctionList = new List<AuctionItem>();//全服拍品列表
|
| | | public Dictionary<string, AuctionItem> PlayerAuctionItemInfoDic = new Dictionary<string, AuctionItem>();//自身玩家上架的拍品
|
| | | public Dictionary<string, AuctionItem> FamilyAuctionItemDic = new Dictionary<string, AuctionItem>();// 拍卖行仙盟拍卖中的物品信息
|
| | | Dictionary<string, AuctionItem> m_AuctionItems = new Dictionary<string, AuctionItem>();
|
| | |
|
| | | List<string> m_ServerAuctionItemGuids = new List<string>();//全服拍品列表
|
| | | List<string> m_FairyAuctionItemGuids = new List<string>();// 拍卖行仙盟拍卖中的物品信息
|
| | | List<string> m_MyAuctionItemGuids = new List<string>();//自身玩家上架的拍品
|
| | | List<string> m_MyBiddingItemGuids = new List<string>();//拍卖行玩家竞价中的物品信息 |
| | | List<string> m_MyFocusAuctionItemGuids = new List<string>();//拍卖行关注中的拍品详情
|
| | |
|
| | | public Dictionary<int, int> AttentionAuctionItemIDdic = new Dictionary<int, int>();//关注的物品ID
|
| | | public Dictionary<string, AuctionItem> PlayerAuctionRecordDic = new Dictionary<string, AuctionItem>();//拍卖行玩家拍卖记录
|
| | | public Dictionary<int, AddAuctionItemInfoClass> AddAuctionItemInfoDic = new Dictionary<int, AddAuctionItemInfoClass>();//关注的拍品的上架提醒(弹框显示)
|
| | | public Dictionary<string, AuctionItem> BiddingItemInfoDic = new Dictionary<string, AuctionItem>();//拍卖行玩家竞价中的物品信息 |
| | | public Dictionary<string, AuctionItem> AttentionAuctionItemDic = new Dictionary<string, AuctionItem>();//拍卖行关注中的拍品详情
|
| | | public Dictionary<int, int> AttentionAuctionItemIDdic = new Dictionary<int, int>();//关注的物品ID
|
| | |
|
| | | AuctionHelpModel auctionHelpModel { get { return ModelCenter.Instance.GetModel<AuctionHelpModel>(); } }
|
| | | public QueryRemainingClass QueryRemaining = new QueryRemainingClass();
|
| | |
| | | public void OnBeforePlayerDataInitialize()
|
| | | {
|
| | | LocationQuery = false;
|
| | | PlayerAuctionItemInfoDic.Clear();
|
| | | FamilyAuctionItemDic.Clear();
|
| | | m_MyAuctionItemGuids.Clear();
|
| | | m_FairyAuctionItemGuids.Clear();
|
| | | PlayerAuctionRecordDic.Clear();
|
| | | AddAuctionItemInfoDic.Clear();
|
| | | BiddingItemInfoDic.Clear();
|
| | | AttentionAuctionItemDic.Clear();
|
| | | m_MyBiddingItemGuids.Clear();
|
| | | m_MyFocusAuctionItemGuids.Clear();
|
| | | AttentionAuctionItemIDdic.Clear();
|
| | | PlayerDatas.Instance.fairyData.OnRefreshFairyMine -= OnRefreshFairyMine;
|
| | | }
|
| | |
| | | {
|
| | | if (!(StageLoad.Instance.currentStage is DungeonStage))
|
| | | {
|
| | | FullServiceAuctionList.Clear();
|
| | | m_ServerAuctionItemGuids.Clear();
|
| | | m_AuctionItems.Clear();
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | {
|
| | | if (PlayerDatas.Instance.baseData.FamilyId == 0)
|
| | | {
|
| | | FamilyAuctionItemDic.Clear();
|
| | | m_FairyAuctionItemGuids.Clear();
|
| | | if (ClearFamilyAuctionUpdate != null)
|
| | | {
|
| | | ClearFamilyAuctionUpdate();
|
| | |
| | | {
|
| | | if (!LocationQuery)
|
| | | {
|
| | | FullServiceAuctionList.Clear();
|
| | | m_ServerAuctionItemGuids.Clear();
|
| | | }
|
| | | QueryRemaining.UpBool = LocationQuery;
|
| | | QueryRemaining.DownBool = true;
|
| | | }
|
| | |
|
| | | void RemoveAuctionItems(List<string> itemGuids)
|
| | | {
|
| | | foreach (var guid in itemGuids)
|
| | | {
|
| | | RemoveAuctionItem(guid);
|
| | | }
|
| | | }
|
| | |
|
| | | void RemoveAuctionItem(string guid)
|
| | | {
|
| | | if (m_AuctionItems.ContainsKey(guid))
|
| | | {
|
| | | m_AuctionItems.Remove(guid);
|
| | | }
|
| | | }
|
| | |
|
| | | void PushAuctionItem(AuctionItem item)
|
| | | {
|
| | | if (m_AuctionItems.ContainsKey(item.itemGuid))
|
| | | {
|
| | | DebugEx.LogFormat("重复添加{0}", item.itemGuid);
|
| | | return;
|
| | | }
|
| | | m_AuctionItems.Add(item.itemGuid, item);
|
| | | }
|
| | |
|
| | | public bool TryGetAuctionItem(string guid,out AuctionItem item)
|
| | | {
|
| | | return m_AuctionItems.TryGetValue(guid, out item);
|
| | | }
|
| | |
|
| | | public bool TryGetServerAuctionItem(string guid, out AuctionItem item)
|
| | | {
|
| | | item = null;
|
| | | if (TryGetMyBiddingAuctionItem(guid, out item))
|
| | | {
|
| | | return true;
|
| | | }
|
| | | item = FullServiceAuctionList.Find((x) =>
|
| | | if (m_ServerAuctionItemGuids.Contains(guid))
|
| | | {
|
| | | return x.itemGuid.Equals(guid);
|
| | | });
|
| | | return item != null;
|
| | | return TryGetAuctionItem(guid, out item);
|
| | | }
|
| | | return false;
|
| | | }
|
| | |
|
| | | public bool TryGetMyBiddingAuctionItem(string guid, out AuctionItem item)
|
| | | {
|
| | | return BiddingItemInfoDic.TryGetValue(guid, out item);
|
| | | item = null;
|
| | | if (m_MyBiddingItemGuids.Contains(guid))
|
| | | {
|
| | | return TryGetAuctionItem(guid, out item);
|
| | | }
|
| | | return false;
|
| | | }
|
| | |
|
| | | public bool TryGetFairyAuctionItem(string guid, out AuctionItem item)
|
| | | {
|
| | | return FamilyAuctionItemDic.TryGetValue(guid, out item);
|
| | | item = null;
|
| | | if (m_FairyAuctionItemGuids.Contains(guid))
|
| | | {
|
| | | return TryGetAuctionItem(guid, out item);
|
| | | }
|
| | | return false;
|
| | | }
|
| | |
|
| | | public bool TryGetMyAuctionItem(string guid, out AuctionItem item)
|
| | | {
|
| | | if (PlayerAuctionItemInfoDic.TryGetValue(guid, out item))
|
| | | item = null;
|
| | | if (m_MyAuctionItemGuids.Contains(guid))
|
| | | {
|
| | | return true;
|
| | | return TryGetAuctionItem(guid, out item);
|
| | | }
|
| | | return FamilyAuctionItemDic.TryGetValue(guid, out item);
|
| | | return TryGetFairyAuctionItem(guid, out item);
|
| | | }
|
| | |
|
| | | public bool TryGetMyFocusAuctionItem(string guid, out AuctionItem item)
|
| | | {
|
| | | if (AttentionAuctionItemDic.TryGetValue(guid, out item))
|
| | | if (m_MyFocusAuctionItemGuids.Contains(guid))
|
| | | {
|
| | | return true;
|
| | | return TryGetAuctionItem(guid, out item);
|
| | | }
|
| | | return FamilyAuctionItemDic.TryGetValue(guid, out item);
|
| | | return TryGetFairyAuctionItem(guid, out item);
|
| | | }
|
| | |
|
| | | public List<string> GetServerAuctionItems()
|
| | | {
|
| | | List<string> guids = new List<string>();
|
| | | foreach (var item in FullServiceAuctionList)
|
| | | foreach (var guid in m_ServerAuctionItemGuids)
|
| | | {
|
| | | guids.Add(item.itemGuid);
|
| | | guids.Add(guid);
|
| | | }
|
| | | return guids;
|
| | | }
|
| | |
|
| | | public ICollection<string> GetMyBiddingAuctionItems()
|
| | | {
|
| | | return BiddingItemInfoDic.Keys;
|
| | | return m_MyBiddingItemGuids;
|
| | | }
|
| | |
|
| | | public ICollection<string> GetFairyAuctionItems()
|
| | | {
|
| | | return FamilyAuctionItemDic.Keys;
|
| | | return m_FairyAuctionItemGuids;
|
| | | }
|
| | |
|
| | | public void GetMyAuctionItems(ref List<string> itemGuids)
|
| | | {
|
| | | itemGuids.Clear();
|
| | | itemGuids.AddRange(PlayerAuctionItemInfoDic.Keys);
|
| | | itemGuids.AddRange(m_MyAuctionItemGuids);
|
| | |
|
| | | var playerId = PlayerDatas.Instance.baseData.PlayerID;
|
| | | foreach (var item in FamilyAuctionItemDic.Values)
|
| | | foreach (var guid in m_FairyAuctionItemGuids)
|
| | | {
|
| | | if (itemGuids.Contains(item.itemGuid))
|
| | | if (itemGuids.Contains(guid))
|
| | | {
|
| | | continue;
|
| | | }
|
| | | if (item.familyPlayers != null && item.familyPlayers.Contains((int)playerId))
|
| | | AuctionItem item;
|
| | | if (TryGetAuctionItem(guid, out item))
|
| | | {
|
| | | itemGuids.Add(item.itemGuid);
|
| | | if (item.familyPlayers != null && item.familyPlayers.Contains((int)playerId))
|
| | | {
|
| | | itemGuids.Add(item.itemGuid);
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | public void GetMyFocusAutionItems(ref List<string> itemGuids)
|
| | | {
|
| | | itemGuids.Clear();
|
| | | itemGuids.AddRange(AttentionAuctionItemDic.Keys);
|
| | | itemGuids.AddRange(m_MyFocusAuctionItemGuids);
|
| | |
|
| | | var playerId = PlayerDatas.Instance.baseData.PlayerID;
|
| | | foreach (var item in FamilyAuctionItemDic.Values)
|
| | | foreach (var guid in m_FairyAuctionItemGuids)
|
| | | {
|
| | | if (itemGuids.Contains(item.itemGuid))
|
| | | if (itemGuids.Contains(guid))
|
| | | {
|
| | | continue;
|
| | | }
|
| | | if (AttentionAuctionItemIDdic.ContainsKey(item.itemId))
|
| | | AuctionItem item;
|
| | | if (TryGetAuctionItem(guid, out item))
|
| | | {
|
| | | itemGuids.Add(item.itemGuid);
|
| | | if (AttentionAuctionItemIDdic.ContainsKey(item.itemId))
|
| | | {
|
| | | itemGuids.Add(item.itemGuid);
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | public bool IsParticipateInBidding(string guid)
|
| | | {
|
| | | return BiddingItemInfoDic.ContainsKey(guid);
|
| | | return m_MyBiddingItemGuids.Contains(guid);
|
| | | }
|
| | |
|
| | | public bool IsMyTopPrice(string guid)
|
| | |
| | |
|
| | | public void ReceivePackage(HB501_tagGCAuctionItemInfo info)// 拍卖行拍卖中的物品信息
|
| | | {
|
| | | List<AuctionItem> fullServiceAuctionList = new List<AuctionItem>();
|
| | | List<string> fullServiceAuctionList = new List<string>();
|
| | | for (int i = 0; i < info.AuctionItemCount; i++)
|
| | | {
|
| | | var PlayerAuctionItem = info.AuctionItemList[i];
|
| | | AuctionItem playerAuctionItemClass = new AuctionItem();
|
| | | playerAuctionItemClass.itemGuid = UIHelper.ServerStringTrim(PlayerAuctionItem.ItemGUID);
|
| | | playerAuctionItemClass.familyId = (int)PlayerAuctionItem.FamilyID;
|
| | | playerAuctionItemClass.itemId = (int)PlayerAuctionItem.ItemID;
|
| | | playerAuctionItemClass.itemCount = (int)PlayerAuctionItem.ItemCount;
|
| | | playerAuctionItemClass.putAwayTime = DateTime.Parse(PlayerAuctionItem.AddTime);
|
| | | var str = UIHelper.ServerStringTrim(PlayerAuctionItem.BiddingTime);
|
| | | var data = info.AuctionItemList[i];
|
| | | var guid = UIHelper.ServerStringTrim(data.ItemGUID);
|
| | | AuctionItem item;
|
| | | if (!TryGetAuctionItem(guid, out item))
|
| | | {
|
| | | item = new AuctionItem();
|
| | | item.itemGuid = guid;
|
| | | PushAuctionItem(item);
|
| | | }
|
| | | item.itemGuid = UIHelper.ServerStringTrim(data.ItemGUID);
|
| | | item.familyId = (int)data.FamilyID;
|
| | | item.itemId = (int)data.ItemID;
|
| | | item.itemCount = (int)data.ItemCount;
|
| | | item.putAwayTime = DateTime.Parse(data.AddTime);
|
| | | var str = UIHelper.ServerStringTrim(data.BiddingTime);
|
| | | if (!str.Equals(string.Empty))
|
| | | {
|
| | | playerAuctionItemClass.biddingTime = DateTime.Parse(str);
|
| | | item.biddingTime = DateTime.Parse(str);
|
| | | }
|
| | | playerAuctionItemClass.biddingPrice = PlayerAuctionItem.BidderPrice;
|
| | | playerAuctionItemClass.customData = PlayerAuctionItem.UserData;
|
| | | var index = FullServiceAuctionList.FindIndex((x) =>
|
| | | item.biddingPrice = data.BidderPrice;
|
| | | item.customData = data.UserData;
|
| | |
|
| | | if (!m_ServerAuctionItemGuids.Contains(guid))
|
| | | {
|
| | | return x.itemGuid == playerAuctionItemClass.itemGuid;
|
| | | });
|
| | | if (index == -1)
|
| | | {
|
| | | fullServiceAuctionList.Add(playerAuctionItemClass);
|
| | | fullServiceAuctionList.Add(guid);
|
| | | }
|
| | | }
|
| | |
|
| | | if (info.QueryDir == 1)//往后查询
|
| | | {
|
| | | QueryRemaining.DownBool = info.QueryRemainlCount != 0;
|
| | | FullServiceAuctionList.AddRange(fullServiceAuctionList);
|
| | | m_ServerAuctionItemGuids.AddRange(fullServiceAuctionList);
|
| | | }
|
| | | else if (info.QueryDir == 2)//往前查询
|
| | | {
|
| | | QueryRemaining.UpBool = info.QueryRemainlCount != 0;
|
| | | FullServiceAuctionList.InsertRange(0, fullServiceAuctionList);
|
| | | m_ServerAuctionItemGuids.InsertRange(0, fullServiceAuctionList);
|
| | | }
|
| | | else if (info.QueryDir == 3)//定位查询
|
| | | {
|
| | | FullServiceAuctionList.AddRange(fullServiceAuctionList);
|
| | | m_ServerAuctionItemGuids.AddRange(fullServiceAuctionList);
|
| | | auctionHelpModel.SelectedGenreNow = 0;
|
| | | LocationQuery = true;
|
| | | WindowCenter.Instance.Open<AuctionHouseWin>(true, 0);//定位查询
|
| | |
| | | {
|
| | | for (int i = 0; i < info.AuctionItemCount; i++)
|
| | | {
|
| | | var PlayerAuctionItem = info.AuctionItemList[i];
|
| | | AuctionItem playerAuctionItemClass = new AuctionItem();
|
| | | playerAuctionItemClass.itemGuid = UIHelper.ServerStringTrim(PlayerAuctionItem.ItemGUID);
|
| | | playerAuctionItemClass.familyId = (int)PlayerAuctionItem.FamilyID;
|
| | | playerAuctionItemClass.itemId = (int)PlayerAuctionItem.ItemID;
|
| | | playerAuctionItemClass.itemCount = (int)PlayerAuctionItem.ItemCount;
|
| | | playerAuctionItemClass.putAwayTime = DateTime.Parse(PlayerAuctionItem.AddTime);
|
| | | var str = UIHelper.ServerStringTrim(PlayerAuctionItem.BiddingTime);
|
| | | var data = info.AuctionItemList[i];
|
| | | var guid = UIHelper.ServerStringTrim(data.ItemGUID);
|
| | |
|
| | | AuctionItem item;
|
| | | if (!TryGetAuctionItem(guid, out item))
|
| | | {
|
| | | item = new AuctionItem();
|
| | | item.itemGuid = guid;
|
| | | PushAuctionItem(item);
|
| | | }
|
| | |
|
| | | item.itemGuid = UIHelper.ServerStringTrim(data.ItemGUID);
|
| | | item.familyId = (int)data.FamilyID;
|
| | | item.itemId = (int)data.ItemID;
|
| | | item.itemCount = (int)data.ItemCount;
|
| | | item.putAwayTime = DateTime.Parse(data.AddTime);
|
| | | var str = UIHelper.ServerStringTrim(data.BiddingTime);
|
| | | if (!str.Equals(string.Empty))
|
| | | {
|
| | | playerAuctionItemClass.biddingTime = DateTime.Parse(str);
|
| | | item.biddingTime = DateTime.Parse(str);
|
| | | }
|
| | | playerAuctionItemClass.biddingPrice = PlayerAuctionItem.BidderPrice;
|
| | | playerAuctionItemClass.customData = PlayerAuctionItem.UserData;
|
| | | if (PlayerAuctionItemInfoDic.ContainsKey(playerAuctionItemClass.itemGuid))
|
| | | item.biddingPrice = data.BidderPrice;
|
| | | item.customData = data.UserData;
|
| | |
|
| | | if (!m_MyAuctionItemGuids.Contains(guid))
|
| | | {
|
| | | PlayerAuctionItemInfoDic[playerAuctionItemClass.itemGuid] = playerAuctionItemClass;
|
| | | }
|
| | | else
|
| | | {
|
| | | PlayerAuctionItemInfoDic.Add(playerAuctionItemClass.itemGuid, playerAuctionItemClass);
|
| | | m_MyAuctionItemGuids.Add(guid);
|
| | | }
|
| | | }
|
| | | if (PlayerAuctionItem != null)
|
| | |
| | | {
|
| | | for (int i = 0; i < info.AuctionItemCount; i++)
|
| | | {
|
| | | var FamilyAuctionItem = info.AuctionItemList[i];
|
| | | AuctionItem familyAuctionItemClass = new AuctionItem();
|
| | | familyAuctionItemClass.itemGuid = UIHelper.ServerStringTrim(FamilyAuctionItem.ItemGUID);
|
| | | familyAuctionItemClass.familyId = (int)FamilyAuctionItem.FamilyID;
|
| | | familyAuctionItemClass.itemId = (int)FamilyAuctionItem.ItemID;
|
| | | familyAuctionItemClass.itemCount = (int)FamilyAuctionItem.ItemCount;
|
| | | familyAuctionItemClass.putAwayTime = DateTime.Parse(FamilyAuctionItem.AddTime);
|
| | | var str = UIHelper.ServerStringTrim(FamilyAuctionItem.BiddingTime);
|
| | | var data = info.AuctionItemList[i];
|
| | | var guid = UIHelper.ServerStringTrim(data.ItemGUID);
|
| | |
|
| | | AuctionItem item;
|
| | | if (!TryGetAuctionItem(guid, out item))
|
| | | {
|
| | | item = new AuctionItem();
|
| | | item.itemGuid = guid;
|
| | | PushAuctionItem(item);
|
| | | }
|
| | |
|
| | | item.itemGuid = UIHelper.ServerStringTrim(data.ItemGUID);
|
| | | item.familyId = (int)data.FamilyID;
|
| | | item.itemId = (int)data.ItemID;
|
| | | item.itemCount = (int)data.ItemCount;
|
| | | item.putAwayTime = DateTime.Parse(data.AddTime);
|
| | | var str = UIHelper.ServerStringTrim(data.BiddingTime);
|
| | | if (!str.Equals(string.Empty))
|
| | | {
|
| | | familyAuctionItemClass.biddingTime = DateTime.Parse(str);
|
| | | item.biddingTime = DateTime.Parse(str);
|
| | | }
|
| | | familyAuctionItemClass.biddingPrice = FamilyAuctionItem.BidderPrice;
|
| | | familyAuctionItemClass.customData = FamilyAuctionItem.UserData;
|
| | | familyAuctionItemClass.familyPlayers = new List<int>();
|
| | | familyAuctionItemClass.familyPlayers = GetFamilyPlayerIDList(FamilyAuctionItem.FamilyPlayerIDInfo);
|
| | | familyAuctionItemClass.auctionType = FamilyAuctionItem.AuctionType;
|
| | | if (FamilyAuctionItemDic.ContainsKey(familyAuctionItemClass.itemGuid))
|
| | | item.biddingPrice = data.BidderPrice;
|
| | | item.customData = data.UserData;
|
| | | item.familyPlayers = new List<int>();
|
| | | item.familyPlayers = GetFamilyPlayerIDList(data.FamilyPlayerIDInfo);
|
| | | item.auctionType = data.AuctionType;
|
| | |
|
| | | if (!m_FairyAuctionItemGuids.Contains(guid))
|
| | | {
|
| | | FamilyAuctionItemDic[familyAuctionItemClass.itemGuid] = familyAuctionItemClass;
|
| | | }
|
| | | else
|
| | | {
|
| | | FamilyAuctionItemDic.Add(familyAuctionItemClass.itemGuid, familyAuctionItemClass);
|
| | | m_FairyAuctionItemGuids.Add(guid);
|
| | | }
|
| | | }
|
| | | if (FamilyAuctionItemUpdate != null)
|
| | |
| | | public event Action AttentionAuctionItemUdate;//拍卖行关注中的拍品信息变更(信息每次重置)
|
| | | public void AttentionAuctionItemInfo(HB506_tagGCAttentionAuctionItemInfo info)//拍卖行关注中的拍品信息
|
| | | {
|
| | | AttentionAuctionItemDic.Clear();
|
| | | m_MyFocusAuctionItemGuids.Clear();
|
| | | for (int i = 0; i < info.AuctionItemCount; i++)
|
| | | {
|
| | | var AttentionAuctionItem = info.AuctionItemList[i];
|
| | | AuctionItem playerAuctionItemClass = new AuctionItem();
|
| | | playerAuctionItemClass.itemGuid = UIHelper.ServerStringTrim(AttentionAuctionItem.ItemGUID);
|
| | | playerAuctionItemClass.familyId = (int)AttentionAuctionItem.FamilyID;
|
| | | playerAuctionItemClass.itemId = (int)AttentionAuctionItem.ItemID;
|
| | | playerAuctionItemClass.itemCount = (int)AttentionAuctionItem.ItemCount;
|
| | | playerAuctionItemClass.putAwayTime = DateTime.Parse(AttentionAuctionItem.AddTime);
|
| | | var str = UIHelper.ServerStringTrim(AttentionAuctionItem.BiddingTime);
|
| | | var data = info.AuctionItemList[i];
|
| | | var guid = UIHelper.ServerStringTrim(data.ItemGUID);
|
| | |
|
| | | AuctionItem item;
|
| | | if (!TryGetAuctionItem(guid, out item))
|
| | | {
|
| | | item = new AuctionItem();
|
| | | item.itemGuid = guid;
|
| | | PushAuctionItem(item);
|
| | | }
|
| | |
|
| | | item.itemGuid = UIHelper.ServerStringTrim(data.ItemGUID);
|
| | | item.familyId = (int)data.FamilyID;
|
| | | item.itemId = (int)data.ItemID;
|
| | | item.itemCount = (int)data.ItemCount;
|
| | | item.putAwayTime = DateTime.Parse(data.AddTime);
|
| | | var str = UIHelper.ServerStringTrim(data.BiddingTime);
|
| | | if (!str.Equals(string.Empty))
|
| | | {
|
| | | playerAuctionItemClass.biddingTime = DateTime.Parse(str);
|
| | | item.biddingTime = DateTime.Parse(str);
|
| | | }
|
| | | playerAuctionItemClass.biddingPrice = AttentionAuctionItem.BidderPrice;
|
| | | playerAuctionItemClass.customData = AttentionAuctionItem.UserData;
|
| | | if (AttentionAuctionItemDic.ContainsKey(playerAuctionItemClass.itemGuid))
|
| | | item.biddingPrice = data.BidderPrice;
|
| | | item.customData = data.UserData;
|
| | |
|
| | | if (!m_MyFocusAuctionItemGuids.Contains(guid))
|
| | | {
|
| | | AttentionAuctionItemDic[playerAuctionItemClass.itemGuid] = playerAuctionItemClass;
|
| | | }
|
| | | else
|
| | | {
|
| | | AttentionAuctionItemDic.Add(playerAuctionItemClass.itemGuid, playerAuctionItemClass);
|
| | | m_MyFocusAuctionItemGuids.Add(guid);
|
| | | }
|
| | | }
|
| | | if (AttentionAuctionItemUdate != null)
|
| | |
| | | {
|
| | | for (int i = 0; i < info.RefreshCount; i++)
|
| | | {
|
| | | var RefreshAuctionItem = info.RefreshAuctionItemList[i];
|
| | | var data = info.RefreshAuctionItemList[i];
|
| | |
|
| | | var guid = UIHelper.ServerStringTrim(RefreshAuctionItem.ItemGUID);
|
| | | var guid = UIHelper.ServerStringTrim(data.ItemGUID);
|
| | |
|
| | | if (FamilyAuctionItemDic.ContainsKey(guid))// 拍卖行仙盟拍卖中的物品信息
|
| | | AuctionItem item;
|
| | | if (!TryGetAuctionItem(guid, out item))
|
| | | {
|
| | | var FamilyAuctionItem = FamilyAuctionItemDic[guid];
|
| | | if (FamilyAuctionItem.auctionType == RefreshAuctionItem.AuctionType)
|
| | | continue;
|
| | | }
|
| | |
|
| | | item.auctionType = data.AuctionType;
|
| | | item.putAwayTime = DateTime.Parse(data.AddTime);
|
| | | item.biddingTime = DateTime.Parse(data.BiddingTime);
|
| | | item.biddingPlayer = (int)data.BidderID;
|
| | | item.biddingPrice = (int)data.BidderPrice;
|
| | | var str = UIHelper.ServerStringTrim(data.BiddingTime);
|
| | | if (!str.Equals(string.Empty))
|
| | | {
|
| | | item.biddingTime = DateTime.Parse(str);
|
| | | }
|
| | |
|
| | | if (m_FairyAuctionItemGuids.Contains(guid) && item.auctionType != 1)// 拍卖行仙盟拍卖中的物品信息
|
| | | {
|
| | | m_FairyAuctionItemGuids.Remove(guid);
|
| | | if (ClearFamilyAuctionUpdate != null)
|
| | | {
|
| | | FamilyAuctionItem.putAwayTime = DateTime.Parse(RefreshAuctionItem.AddTime);
|
| | | FamilyAuctionItem.biddingTime= DateTime.Parse(RefreshAuctionItem.BiddingTime);
|
| | | var str = UIHelper.ServerStringTrim(RefreshAuctionItem.BiddingTime);
|
| | | if (!str.Equals(string.Empty))
|
| | | {
|
| | | FamilyAuctionItem.biddingTime = DateTime.Parse(str);
|
| | | }
|
| | | FamilyAuctionItem.biddingPlayer = (int)RefreshAuctionItem.BidderID;
|
| | | FamilyAuctionItem.biddingPrice = (int)RefreshAuctionItem.BidderPrice;
|
| | | FamilyAuctionItemDic[guid] = FamilyAuctionItem;
|
| | | ClearFamilyAuctionUpdate();
|
| | | }
|
| | | else
|
| | | {
|
| | | FamilyAuctionItemDic.Remove(guid);
|
| | | if (ClearFamilyAuctionUpdate != null)
|
| | | {
|
| | | ClearFamilyAuctionUpdate();
|
| | | }
|
| | | }
|
| | | }
|
| | | var index = FullServiceAuctionList.FindIndex((x) => { return x.itemGuid == guid; });
|
| | | if (index != -1)//全服拍品
|
| | | {
|
| | | FullServiceAuctionList[index].putAwayTime = DateTime.Parse(RefreshAuctionItem.AddTime);
|
| | | FullServiceAuctionList[index].biddingPlayer = (int)RefreshAuctionItem.BidderID;
|
| | | FullServiceAuctionList[index].biddingPrice = (int)RefreshAuctionItem.BidderPrice;
|
| | | }
|
| | | if (PlayerAuctionItemInfoDic.ContainsKey(guid))//我的拍品刷新
|
| | | {
|
| | | var PlayerAuctionItemInfo = PlayerAuctionItemInfoDic[guid];
|
| | | PlayerAuctionItemInfo.putAwayTime = DateTime.Parse(RefreshAuctionItem.AddTime);
|
| | | PlayerAuctionItemInfo.biddingTime= DateTime.Parse(RefreshAuctionItem.BiddingTime);
|
| | | PlayerAuctionItemInfo.biddingPlayer = (int)RefreshAuctionItem.BidderID;
|
| | | PlayerAuctionItemInfo.biddingPrice = (int)RefreshAuctionItem.BidderPrice;
|
| | | PlayerAuctionItemInfoDic[guid] = PlayerAuctionItemInfo;
|
| | | }
|
| | | if (BiddingItemInfoDic.ContainsKey(guid))//玩家竞价中的物品
|
| | | {
|
| | | var biddingItemInfo = BiddingItemInfoDic[guid];
|
| | | biddingItemInfo.putAwayTime = DateTime.Parse(RefreshAuctionItem.AddTime);
|
| | | biddingItemInfo.biddingTime= DateTime.Parse(RefreshAuctionItem.BiddingTime);
|
| | | biddingItemInfo.biddingPlayer = (int)RefreshAuctionItem.BidderID;
|
| | | biddingItemInfo.biddingPrice = (int)RefreshAuctionItem.BidderPrice;
|
| | | BiddingItemInfoDic[guid] = biddingItemInfo;
|
| | | }
|
| | | if (AttentionAuctionItemDic.ContainsKey(guid))//我关注中的拍品
|
| | | {
|
| | | var attentionAuctionItem = AttentionAuctionItemDic[guid];
|
| | | attentionAuctionItem.putAwayTime = DateTime.Parse(RefreshAuctionItem.AddTime);
|
| | | attentionAuctionItem.biddingTime = DateTime.Parse(RefreshAuctionItem.BiddingTime);
|
| | | attentionAuctionItem.biddingPlayer = (int)RefreshAuctionItem.BidderID;
|
| | | attentionAuctionItem.biddingPrice = (int)RefreshAuctionItem.BidderPrice;
|
| | | AttentionAuctionItemDic[guid] = attentionAuctionItem;
|
| | | }
|
| | | if (RefreshAuctionItemUpdate != null)
|
| | | {
|
| | |
| | | var ItemGUIDList = info.ClearAuctionItemList[i];
|
| | | var guid = UIHelper.ServerStringTrim(ItemGUIDList.ItemGUID);
|
| | |
|
| | | if (BiddingItemInfoDic.ContainsKey(guid))//清除拍卖行玩家参与竞价中的物品信息 |
| | | if (m_MyBiddingItemGuids.Contains(guid))//清除拍卖行玩家参与竞价中的物品信息 |
| | | {
|
| | | BiddingItemInfoDic.Remove(guid);
|
| | | m_MyBiddingItemGuids.Remove(guid);
|
| | | }
|
| | | if (FamilyAuctionItemDic.ContainsKey(guid))// 清除拍卖行仙盟拍卖中的物品信息
|
| | | if (m_FairyAuctionItemGuids.Contains(guid))// 清除拍卖行仙盟拍卖中的物品信息
|
| | | {
|
| | | FamilyAuctionItemDic.Remove(guid);
|
| | | m_FairyAuctionItemGuids.Remove(guid);
|
| | | if (ClearFamilyAuctionUpdate != null)
|
| | | {
|
| | | ClearFamilyAuctionUpdate();
|
| | | }
|
| | | }
|
| | | var index = FullServiceAuctionList.FindIndex((x) => { return x.itemGuid == guid; });
|
| | | var index = m_ServerAuctionItemGuids.IndexOf(guid);
|
| | | if (index != -1)//清除全服拍品的某一件物品
|
| | | {
|
| | | FullServiceAuctionList.RemoveAt(index);
|
| | | m_ServerAuctionItemGuids.RemoveAt(index);
|
| | | }
|
| | | if (PlayerAuctionItemInfoDic.ContainsKey(guid))//我的拍品清除
|
| | | if (m_MyAuctionItemGuids.Contains(guid))//我的拍品清除
|
| | | {
|
| | | PlayerAuctionItemInfoDic.Remove(guid);
|
| | | m_MyAuctionItemGuids.Remove(guid);
|
| | | }
|
| | | if (AttentionAuctionItemDic.ContainsKey(guid))
|
| | | if (m_MyFocusAuctionItemGuids.Contains(guid))
|
| | | {
|
| | | AttentionAuctionItemDic.Remove(guid);
|
| | | m_MyFocusAuctionItemGuids.Remove(guid);
|
| | | }
|
| | |
|
| | | RemoveAuctionItem(guid);
|
| | | }
|
| | | if (ClearAuctionUpdate != null)
|
| | | {
|
| | |
| | | {
|
| | | for (int i = 0; i < info.AuctionItemCount; i++)
|
| | | {
|
| | | var BiddingItem = info.AuctionItemList[i];
|
| | | AuctionItem BiddingItemClass = new AuctionItem();
|
| | | BiddingItemClass.itemGuid = UIHelper.ServerStringTrim(BiddingItem.ItemGUID);
|
| | | BiddingItemClass.itemId = (int)BiddingItem.ItemID;
|
| | | BiddingItemClass.itemCount = BiddingItem.ItemCount;
|
| | | BiddingItemClass.familyId = (int)BiddingItem.FamilyID;
|
| | | BiddingItemClass.putAwayTime = DateTime.Parse(BiddingItem.AddTime);
|
| | | var str = UIHelper.ServerStringTrim(BiddingItem.BiddingTime);
|
| | | var data = info.AuctionItemList[i];
|
| | |
|
| | | var guid = UIHelper.ServerStringTrim(data.ItemGUID);
|
| | |
|
| | | AuctionItem item;
|
| | | if (!TryGetAuctionItem(guid, out item))
|
| | | {
|
| | | item = new AuctionItem();
|
| | | item.itemGuid = guid;
|
| | | PushAuctionItem(item);
|
| | | }
|
| | |
|
| | | item.itemId = (int)data.ItemID;
|
| | | item.itemCount = data.ItemCount;
|
| | | item.familyId = (int)data.FamilyID;
|
| | | item.putAwayTime = DateTime.Parse(data.AddTime);
|
| | | var str = UIHelper.ServerStringTrim(data.BiddingTime);
|
| | | if (!str.Equals(string.Empty))
|
| | | {
|
| | | BiddingItemClass.biddingTime = DateTime.Parse(str);
|
| | | item.biddingTime = DateTime.Parse(str);
|
| | | }
|
| | | BiddingItemClass.biddingPrice = BiddingItem.BidderPrice;//竞拍玩家出价
|
| | | BiddingItemClass.biddingPlayer = (int)BiddingItem.BidderID;//竞拍玩家ID,也就是当前最高竞价玩家ID
|
| | | BiddingItemClass.customData = BiddingItem.UserData;
|
| | | if (BiddingItemInfoDic.ContainsKey(BiddingItemClass.itemGuid))
|
| | | item.biddingPrice = data.BidderPrice;//竞拍玩家出价
|
| | | item.biddingPlayer = (int)data.BidderID;//竞拍玩家ID,也就是当前最高竞价玩家ID
|
| | | item.customData = data.UserData;
|
| | |
|
| | | if (!m_MyBiddingItemGuids.Contains(guid))
|
| | | {
|
| | | BiddingItemInfoDic[BiddingItemClass.itemGuid] = BiddingItemClass;
|
| | | }
|
| | | else
|
| | | {
|
| | | BiddingItemInfoDic.Add(BiddingItemClass.itemGuid, BiddingItemClass);
|
| | | m_MyBiddingItemGuids.Add(guid);
|
| | | }
|
| | | }
|
| | | if (BiddingItemInfoUpdate != null)
|
| | |
| | | {
|
| | | playerID = (int)PlayerDatas.Instance.baseData.PlayerID;
|
| | | }
|
| | | foreach (var key in FamilyAuctionItemDic.Keys)//判断玩家是否有在竞价仙盟拍品(且是最高价)
|
| | | foreach (var key in m_FairyAuctionItemGuids)//判断玩家是否有在竞价仙盟拍品(且是最高价)
|
| | | {
|
| | | if (BiddingItemInfoDic.ContainsKey(key) && BiddingItemInfoDic[key].biddingPlayer == playerID)
|
| | | AuctionItem item;
|
| | | if (TryGetAuctionItem(key, out item) && item.biddingPlayer == playerID)
|
| | | {
|
| | | isbool = false;
|
| | | }
|