From faf2cc75a49a90d5e92ec28aab2e58912a7fc781 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期一, 01 四月 2019 16:14:13 +0800
Subject: [PATCH] 3335 拍卖行修改
---
System/Auction/AuctionModel.cs | 79 ++++++++++++++++++++++++++++-----------
1 files changed, 56 insertions(+), 23 deletions(-)
diff --git a/System/Auction/AuctionModel.cs b/System/Auction/AuctionModel.cs
index 45d92e8..de62fc7 100644
--- a/System/Auction/AuctionModel.cs
+++ b/System/Auction/AuctionModel.cs
@@ -10,13 +10,6 @@
namespace Snxxz.UI
{
- public class AddAuctionItemInfoClass
- {
- public string ItemGUID;//鐗╁搧GUID
- public int ItemID;//鐗╁搧ID
- public bool Bool;
- }
-
public class QueryRemainingClass
{
public bool UpBool;
@@ -33,10 +26,9 @@
List<string> m_MyBiddingItemGuids = new List<string>();//鎷嶅崠琛岀帺瀹剁珵浠蜂腑鐨勭墿鍝佷俊鎭�
List<string> m_MyFocusAuctionItemGuids = new List<string>();//鎷嶅崠琛屽叧娉ㄤ腑鐨勬媿鍝佽鎯�
List<string> m_AuctionRecords = new List<string>();//鎷嶅崠琛岀帺瀹舵媿鍗栬褰�
+ List<FocusAuctionItem> m_FocusItems = new List<FocusAuctionItem>();//鍏虫敞鐨勬媿鍝佺殑涓婃灦鎻愰啋锛堝脊妗嗘樉绀猴級
List<int> m_MyFocusItemIds = new List<int>();//鍏虫敞鐨勭墿鍝両D
-
- public Dictionary<int, AddAuctionItemInfoClass> AddAuctionItemInfoDic = new Dictionary<int, AddAuctionItemInfoClass>();//鍏虫敞鐨勬媿鍝佺殑涓婃灦鎻愰啋锛堝脊妗嗘樉绀猴級
public QueryRemainingClass QueryRemaining = new QueryRemainingClass();
@@ -45,6 +37,7 @@
public bool isLocationQuery { get; set; }
public string locationGuid { get; set; }
+ public bool isServerPrepare { get; private set; }
public event Action myAuctionRefresh;
public event Action serverAuctionRefresh;//鍏ㄦ湇鎷嶅搧鏁版嵁璇锋眰
@@ -55,7 +48,7 @@
public event Action myFocusAuctionRefresh;//鎷嶅崠琛屽叧娉ㄤ腑鐨勬媿鍝佷俊鎭彉鏇达紙淇℃伅姣忔閲嶇疆锛�
public event Action auctionItemRefresh;//鎷嶅崠琛屾暟鎹埛鏂�(浠呯敤浜庢暟鎹埛鏂�)
public event Action onAuctionRemove;//鎷嶅崠琛岀墿鍝佹竻闄�
- public event Action AddAuctionItemInfoUpdate;
+ public event Action onFocusAuctionRefresh;
AuctionHelpModel auctionHelpModel { get { return ModelCenter.Instance.GetModel<AuctionHelpModel>(); } }
@@ -68,20 +61,24 @@
public void OnBeforePlayerDataInitialize()
{
isLocationQuery = false;
+ isServerPrepare = false;
+
m_MyAuctionItemGuids.Clear();
m_FairyAuctionItemGuids.Clear();
m_AuctionRecords.Clear();
- AddAuctionItemInfoDic.Clear();
m_MyBiddingItemGuids.Clear();
m_MyFocusAuctionItemGuids.Clear();
m_MyFocusItemIds.Clear();
+
PlayerDatas.Instance.fairyData.OnRefreshFairyMine -= OnRefreshFairyMine;
}
public void OnPlayerLoginOk()
{
- RefreshRedpoint();
PlayerDatas.Instance.fairyData.OnRefreshFairyMine += OnRefreshFairyMine;
+
+ isServerPrepare = true;
+ RefreshRedpoint();
}
@@ -105,6 +102,7 @@
{
m_ServerAuctionItemGuids.Clear();
m_AuctionItems.Clear();
+ m_FocusItems.Clear();
}
}
@@ -224,6 +222,17 @@
return false;
}
+ public bool TryGetFocusAuctionPop(out FocusAuctionItem item)
+ {
+ item = default(FocusAuctionItem);
+ if (m_FocusItems.Count > 0)
+ {
+ item = m_FocusItems[0];
+ return true;
+ }
+ return false;
+ }
+
public List<string> GetServerAuctionItems()
{
List<string> guids = new List<string>();
@@ -324,6 +333,14 @@
return m_MyFocusItemIds.Contains(id);
}
+ public void RemoveFocusItemPop()
+ {
+ if (m_FocusItems.Count > 0)
+ {
+ m_FocusItems.RemoveAt(0);
+ }
+ }
+
public void ReceivePackage(HB501_tagGCAuctionItemInfo package)// 鎷嶅崠琛屾媿鍗栦腑鐨勭墿鍝佷俊鎭�
{
List<string> fullServiceAuctionList = new List<string>();
@@ -365,6 +382,11 @@
}
else if (package.QueryDir == 3)//瀹氫綅鏌ヨ
{
+ if (WindowCenter.Instance.IsOpen<AuctionHouseWin>())
+ {
+ return;
+ }
+ m_ServerAuctionItemGuids.Clear();
m_ServerAuctionItemGuids.AddRange(fullServiceAuctionList);
auctionHelpModel.SelectedGenreNow = 0;
isLocationQuery = true;
@@ -448,25 +470,31 @@
public void ReceivePackage(HB504_tagGCAddAuctionItemInfo package)//鎷嶅崠琛屾柊涓婃灦鎷嶅搧(鐜╁鏈夊叧娉ㄧ殑鎷嶅搧 )
{
+ if (!isServerPrepare)
+ {
+ return;
+ }
for (int i = 0; i < package.AddCount; i++)
{
var data = package.AddAuctionItemList[i];
- AddAuctionItemInfoClass addAuctionItemInfo = new AddAuctionItemInfoClass();
- addAuctionItemInfo.ItemGUID = UIHelper.ServerStringTrim(data.ItemGUID);
- addAuctionItemInfo.ItemID = (int)data.ItemID;
- addAuctionItemInfo.Bool = true;
- if (AddAuctionItemInfoDic.ContainsKey(addAuctionItemInfo.ItemID))
+ var guid = UIHelper.ServerStringTrim(data.ItemGUID);
+ if (m_FocusItems.FindIndex((x) =>
{
- AddAuctionItemInfoDic[addAuctionItemInfo.ItemID] = addAuctionItemInfo;
- }
- else
+ return x.itemId == data.ItemID || x.itemGuid.Equals(guid);
+ }) != -1)
{
- AddAuctionItemInfoDic.Add(addAuctionItemInfo.ItemID, addAuctionItemInfo);
+ continue;
}
+ var focusItem = new FocusAuctionItem()
+ {
+ itemGuid = guid,
+ itemId = (int)data.ItemID,
+ };
+ m_FocusItems.Add(focusItem);
}
- if (AddAuctionItemInfoUpdate != null)
+ if (onFocusAuctionRefresh != null)
{
- AddAuctionItemInfoUpdate();
+ onFocusAuctionRefresh();
}
}
@@ -869,6 +897,11 @@
}
}
+ public struct FocusAuctionItem
+ {
+ public string itemGuid;//鐗╁搧GUID
+ public int itemId;//鐗╁搧ID
+ }
}
--
Gitblit v1.8.0