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 拍卖行修改
---
/dev/null | 109 ------------------
System/Auction/MyFocusWin.cs | 4
System/Skill/ScrollerController.cs | 12 ++
System/Auction/MyAuctionWin.cs | 4
System/MainInterfacePanel/InGamePushContainer.cs | 2
System/Auction/FullServiceAuctionWin.cs | 25 +++
System/Auction/MyFocusAuctionBehaviour.cs.meta | 0
System/Auction/AuctionModel.cs | 79 +++++++++---
System/Auction/FullServiceAuctioncell.cs | 15 +
System/Auction/MyFocusAuctionBehaviour.cs | 110 ++++++++++++++++++
10 files changed, 215 insertions(+), 145 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
+ }
}
diff --git a/System/Auction/FullServiceAuctionWin.cs b/System/Auction/FullServiceAuctionWin.cs
index c323470..778cf50 100644
--- a/System/Auction/FullServiceAuctionWin.cs
+++ b/System/Auction/FullServiceAuctionWin.cs
@@ -58,7 +58,8 @@
model.serverAuctionRefresh += FullServiceAuctionUpdate;//鏁版嵁璇锋眰鍒锋柊
model.auctionItemRefresh += RefreshAuctionItemUpdate;//鍒锋柊
model.onAuctionRemove += ClearAuctionUpdate;//娓呴櫎
- model.myBiddingAuctionRefresh += BiddingItemInfoUpdate;//绔炰环鐗╁搧淇℃伅鍒锋柊
+ model.myBiddingAuctionRefresh += BiddingItemInfoUpdate;//绔炰环鐗╁搧淇℃伅鍒锋柊
+ m_ScrollerControllerItem.onValueChange += OnValueChange;
ResetServerAuctionInquiry();
CloseTip();
@@ -91,7 +92,24 @@
model.auctionItemRefresh -= RefreshAuctionItemUpdate;
model.onAuctionRemove -= ClearAuctionUpdate;
model.myBiddingAuctionRefresh -= BiddingItemInfoUpdate;//绔炰环鐗╁搧淇℃伅鍒锋柊
- GlobalTimeEvent.Instance.secondEvent -= secondEvent;
+ GlobalTimeEvent.Instance.secondEvent -= secondEvent;
+ m_ScrollerControllerItem.onValueChange -= OnValueChange;
+ }
+
+ private void OnValueChange(Vector2 delta)
+ {
+ if (delta.y >= 1)
+ {
+ if (!auctionHelpModel.isOpenPanel && auctionHelpModel.Wait && model.QueryRemaining.UpBool)
+ {
+ var inquiryIndex = AuctionInquiry.Instance.GetInquiryIndex();
+ if (itemGuids.Count > 0)
+ {
+ model.SendInquiryServerAcution(inquiryIndex, itemGuids[0], 2);
+ auctionHelpModel.Wait = false;
+ }
+ }
+ }
}
protected override void OnAfterClose()
@@ -281,6 +299,7 @@
private void OnCreateGridLineCellItem(ScrollerController gridCtrl)
{
+ itemGuids.Clear();
if (!model.isLocationQuery && !model.QueryRemaining.UpBool)
{
PushMyBiddingItems();
@@ -349,8 +368,6 @@
private void PushMyBiddingItems()
{
- itemGuids.Clear();
-
var index = AuctionInquiry.Instance.GetInquiryIndex();
if (index == 0)
{
diff --git a/System/Auction/FullServiceAuctioncell.cs b/System/Auction/FullServiceAuctioncell.cs
index 6e226c9..957519d 100644
--- a/System/Auction/FullServiceAuctioncell.cs
+++ b/System/Auction/FullServiceAuctioncell.cs
@@ -14,6 +14,7 @@
public class FullServiceAuctioncell : MonoBehaviour
{
+ [SerializeField] Transform m_Container;
[SerializeField] GameObject m_NeedImage;//闇�瑕�
[SerializeField] GameObject m_ParticipateImage;//鍙備笌绔炰环
[SerializeField] ItemCell m_ItemCell;//鐗╁搧
@@ -57,9 +58,13 @@
public void GetFullServiceAuctionGUID(string guid, int index, int totalCount)
{
+ m_Container.gameObject.SetActive(!string.IsNullOrEmpty(guid));
+
m_NeedImage.SetActive(false);
m_ParticipateImage.SetActive(false);
m_HighestPriceImage.SetActive(false);
+
+ this.auctionItemGuid = guid;
AuctionItem auctionItem;
if (!model.TryGetServerAuctionItem(guid, out auctionItem))
@@ -67,19 +72,17 @@
return;
}
- this.auctionItemGuid = guid;
-
#region 婊氬姩鏌ヨ
var inquiryIndex = AuctionInquiry.Instance.GetInquiryIndex();
if (index < 2)
{
- if (inquiryIndex != 0 && auctionHelpModel.Wait && model.QueryRemaining.UpBool)
+ if (inquiryIndex != 0 && auctionHelpModel.Wait && model.QueryRemaining.UpBool && !auctionHelpModel.isOpenPanel)
{
model.SendInquiryServerAcution(inquiryIndex, auctionItem.itemGuid, 2);
auctionHelpModel.Wait = false;
}
}
- else if (index >= totalCount - 3)
+ else if (index >= totalCount - 5)
{
if (inquiryIndex != 0 && auctionHelpModel.Wait && model.QueryRemaining.DownBool && !auctionHelpModel.isOpenPanel)
{
@@ -145,6 +148,10 @@
private void LateUpdate()
{
+ if (string.IsNullOrEmpty(auctionItemGuid))
+ {
+ return;
+ }
timer += Time.deltaTime;
if (timer >= 0.5f)
{
diff --git a/System/Auction/MyAuctionWin.cs b/System/Auction/MyAuctionWin.cs
index 5fe18cc..7944196 100644
--- a/System/Auction/MyAuctionWin.cs
+++ b/System/Auction/MyAuctionWin.cs
@@ -43,7 +43,7 @@
model.onAuctionRemove += ResetUpdate;
model.auctionItemRefresh += AuctionItemUpdate;//鍒锋柊
model.fairyAuctionRefresh += ResetUpdate;
- model.AddAuctionItemInfoUpdate += ResetUpdate;
+ model.onFocusAuctionRefresh += ResetUpdate;
model.myAuctionRefresh += ResetUpdate;
}
@@ -53,7 +53,7 @@
model.onAuctionRemove -= ResetUpdate;
model.auctionItemRefresh -= AuctionItemUpdate;//鍒锋柊
model.fairyAuctionRefresh -= ResetUpdate;
- model.AddAuctionItemInfoUpdate -= ResetUpdate;
+ model.onFocusAuctionRefresh -= ResetUpdate;
model.myAuctionRefresh -= ResetUpdate;
}
diff --git a/System/Auction/MyFocusAuctionBehaviour.cs b/System/Auction/MyFocusAuctionBehaviour.cs
new file mode 100644
index 0000000..34ff829
--- /dev/null
+++ b/System/Auction/MyFocusAuctionBehaviour.cs
@@ -0,0 +1,110 @@
+锘�//--------------------------------------------------------
+// [Author]: 绗簩涓栫晫
+// [ Date ]: Friday, March 08, 2019
+//--------------------------------------------------------
+using UnityEngine;
+using System.Collections;
+using UnityEngine.UI;
+using System.Collections.Generic;
+using System;
+
+namespace Snxxz.UI
+{
+ public class MyFocusAuctionBehaviour : MonoBehaviour
+ {
+ [SerializeField] Transform m_Container;
+ [SerializeField] ItemCell m_ItemCell;
+ [SerializeField] Text m_ItemName;
+ [SerializeField] Button m_Close;
+ [SerializeField] Button m_Goto;
+
+ AuctionModel model { get { return ModelCenter.Instance.GetModel<AuctionModel>(); } }
+
+ public void Init()
+ {
+ gameObject.SetActive(true);
+
+ model.onFocusAuctionRefresh += OnFocusAuctionRefresh;
+ NewBieCenter.Instance.guideCompletedEvent += GuideCompletedEvent;
+
+ Display();
+
+ m_Close.SetListener(OnClose);
+ m_Goto.SetListener(Goto);
+ }
+
+ public void Unit()
+ {
+ model.onFocusAuctionRefresh -= OnFocusAuctionRefresh;
+ NewBieCenter.Instance.guideCompletedEvent -= GuideCompletedEvent;
+
+ m_Container.gameObject.SetActive(false);
+ }
+
+ private void GuideCompletedEvent(int id)
+ {
+ if (gameObject.activeInHierarchy)
+ {
+ StartCoroutine(Co_Display());
+ }
+ }
+
+ IEnumerator Co_Display()
+ {
+ yield return null;
+ Display();
+ }
+
+ void Display()
+ {
+ FocusAuctionItem item;
+ if (!NewBieCenter.Instance.inGuiding
+ && model.TryGetFocusAuctionPop(out item))
+ {
+ DisplayFocus(item);
+ }
+ else
+ {
+ m_Container.gameObject.SetActive(false);
+ }
+ }
+
+ void DisplayFocus(FocusAuctionItem focusAuctionItem)
+ {
+ m_Container.gameObject.SetActive(true);
+ ItemCellModel cellModel = new ItemCellModel(focusAuctionItem.itemId, true, (ulong)1);
+ m_ItemCell.Init(cellModel);
+
+ var itemConfig = ItemConfig.Get(focusAuctionItem.itemId);
+ if (itemConfig != null)
+ {
+ m_ItemName.text = itemConfig.ItemName;
+ }
+ }
+
+ private void OnClose()
+ {
+ model.RemoveFocusItemPop();
+ Display();
+ }
+
+ private void OnFocusAuctionRefresh()
+ {
+ Display();
+ }
+
+ private void Goto()
+ {
+ FocusAuctionItem item;
+ if (model.TryGetFocusAuctionPop(out item))
+ {
+ model.LocationItemByGuid(item.itemGuid);
+ }
+ OnClose();
+ }
+ }
+
+}
+
+
+
diff --git a/System/Auction/MyFocusBehavior.cs.meta b/System/Auction/MyFocusAuctionBehaviour.cs.meta
similarity index 100%
rename from System/Auction/MyFocusBehavior.cs.meta
rename to System/Auction/MyFocusAuctionBehaviour.cs.meta
diff --git a/System/Auction/MyFocusBehavior.cs b/System/Auction/MyFocusBehavior.cs
deleted file mode 100644
index 3edf00b..0000000
--- a/System/Auction/MyFocusBehavior.cs
+++ /dev/null
@@ -1,109 +0,0 @@
-锘�//--------------------------------------------------------
-// [Author]: 绗簩涓栫晫
-// [ Date ]: Friday, March 08, 2019
-//--------------------------------------------------------
-using UnityEngine;
-using System.Collections;
-using UnityEngine.UI;
-using System.Collections.Generic;
-using System;
-
-namespace Snxxz.UI
-{
-
- public class MyFocusBehavior : MonoBehaviour
- {
- [SerializeField] GameObject m_MyFocusBehavior;
- [SerializeField] Button m_CloseButton;
- [SerializeField] Button m_GoButton;
- [SerializeField] ItemCell m_ItemCell;
- [SerializeField] Text m_ItemNameTxt;
- AuctionModel model { get { return ModelCenter.Instance.GetModel<AuctionModel>(); } }
- AuctionHelpModel auctionHelpModel { get { return ModelCenter.Instance.GetModel<AuctionHelpModel>(); } }
- private List<AddAuctionItemInfoClass> MyFocusItemList = new List<AddAuctionItemInfoClass>();
- private int ItemID = 0;
- private string ItemGUID = string.Empty;
- public void Init()
- {
- model.AddAuctionItemInfoUpdate += AddAuctionItemInfoUpdate;
- if (!this.gameObject.activeSelf)
- {
- this.gameObject.SetActive(true);
- }
- GetMyFocusItemList();
- }
- public void Unit()
- {
- model.AddAuctionItemInfoUpdate -= AddAuctionItemInfoUpdate;
- }
-
- private void Start()
- {
-
- }
-
- private void OnEnable()
- {
-
- }
- private void AddAuctionItemInfoUpdate()
- {
- GetMyFocusItemList();
- }
- private void LateUpdate()
- {
-
- if (MyFocusItemList.Count <= 0 && m_MyFocusBehavior.activeSelf)
- {
- ItemID = 0;
- ItemGUID = string.Empty; ;
- m_MyFocusBehavior.SetActive(false);
- }
- else if (!m_MyFocusBehavior.activeSelf && MyFocusItemList.Count > 0)
- {
- m_MyFocusBehavior.SetActive(true);
- var myFocusItem = MyFocusItemList[0];
- ItemID = myFocusItem.ItemID;
- ItemGUID = myFocusItem.ItemGUID;
- var itemConfig = ItemConfig.Get(ItemID);
- if (itemConfig != null)
- {
- ItemCellModel cellModel = new ItemCellModel(itemConfig.ID, true, (ulong)1);
- m_ItemCell.Init(cellModel);
- m_ItemNameTxt.text = itemConfig.ItemName;
- }
- }
- }
- private void CloseButton()
- {
- if (model.AddAuctionItemInfoDic.ContainsKey(ItemID))
- {
- model.AddAuctionItemInfoDic.Remove(ItemID);
- GetMyFocusItemList();
- }
- }
-
- private void GoButton()
- {
- //model.AddAuctionItemInfoDic.Clear();
- //GetMyFocusItemList();
- DebugEx.LogError("璺宠浆琛ㄦ病鍔犺烦涓嶈繃鍘荤殑銆傘�傘�傘�傘�傘��");
- }
-
- private void GetMyFocusItemList()
- {
- MyFocusItemList.Clear();
- foreach (var value in model.AddAuctionItemInfoDic.Values)
- {
- if (value.Bool)
- {
- MyFocusItemList.Add(value);
- }
- }
- }
- }
-
-}
-
-
-
diff --git a/System/Auction/MyFocusWin.cs b/System/Auction/MyFocusWin.cs
index 3425306..13d0037 100644
--- a/System/Auction/MyFocusWin.cs
+++ b/System/Auction/MyFocusWin.cs
@@ -46,7 +46,7 @@
model.onAuctionRemove += ResetUpdate;
model.auctionItemRefresh += AuctionItemUpdate;//鍒锋柊
model.fairyAuctionRefresh += ResetUpdate;
- model.AddAuctionItemInfoUpdate += AddAuctionItemInfoUpdate;
+ model.onFocusAuctionRefresh += AddAuctionItemInfoUpdate;
model.myBiddingAuctionRefresh += ResetUpdate;
}
@@ -58,7 +58,7 @@
model.onAuctionRemove -= ResetUpdate;
model.auctionItemRefresh -= AuctionItemUpdate;//鍒锋柊
model.fairyAuctionRefresh -= ResetUpdate;
- model.AddAuctionItemInfoUpdate -= AddAuctionItemInfoUpdate;
+ model.onFocusAuctionRefresh -= AddAuctionItemInfoUpdate;
model.myBiddingAuctionRefresh -= ResetUpdate;
}
diff --git a/System/MainInterfacePanel/InGamePushContainer.cs b/System/MainInterfacePanel/InGamePushContainer.cs
index 79052b3..c02d71b 100644
--- a/System/MainInterfacePanel/InGamePushContainer.cs
+++ b/System/MainInterfacePanel/InGamePushContainer.cs
@@ -28,7 +28,7 @@
[SerializeField] DogzNotifyBehaviour m_DogzNotifyBehaviour;
[SerializeField] InSevenDayBehavior m_InSevenDayBehavior;
[SerializeField] FBHelpPointExchageNotify m_HelpPointExchangeNotify;
- [SerializeField] MyFocusBehavior m_MyFocusBehavio;
+ [SerializeField] MyFocusAuctionBehaviour m_MyFocusBehavio;
[SerializeField] AuctionNewGetBehaviour m_AuctionNewGetBehaviour;
WorldBossModel worldBossModel { get { return ModelCenter.Instance.GetModel<WorldBossModel>(); } }
diff --git a/System/Skill/ScrollerController.cs b/System/Skill/ScrollerController.cs
index 71b161e..d73ec05 100644
--- a/System/Skill/ScrollerController.cs
+++ b/System/Skill/ScrollerController.cs
@@ -27,6 +27,8 @@
public event Action OnRefreshCompleteEvent;
+ public event Action<Vector2> onValueChange;
+
public EnhancedScrollerCellView GetCellView(EnhancedScroller scroller, int dataIndex, int cellIndex)
{
@@ -134,6 +136,8 @@
horizontal = mScrollRect.horizontal;
vertical = mScrollRect.vertical;
+ mScrollRect.onValueChanged.AddListener(OnValueChangle);
+
inited = m_Scorller.inited;
m_Scorller.OnFirstLoadAllEvent += OnFirstLoadAllEvent;
if (m_Scorller.OnCompLoad == null && !m_Scorller.inited)
@@ -143,6 +147,14 @@
HideDefaultCell();
}
+ private void OnValueChangle(Vector2 delta)
+ {
+ if (onValueChange != null)
+ {
+ onValueChange(delta);
+ }
+ }
+
private void OnFirstLoadAllEvent()
{
if (cacheJump != -1)
--
Gitblit v1.8.0