From e005994d32105faa2cccdedfa2de4eaa8223fe0a Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期二, 26 三月 2019 11:38:55 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
---
System/ItemTip/TipGemInfoWidget.cs | 1
System/Equip/EquipModel.cs | 80 +++++++++++++++++++++++++-
System/Auction/MyFocusWin.cs | 9 ++-
Lua/Gen/SnxxzUIEquipModelWrap.cs | 6 --
System/Equip/EquipSlotBehaviour.cs | 4 +
System/Equip/CandidateEquipBehaviour.cs | 9 ++
System/Auction/AuctionHouseWin.cs | 2
System/Auction/AttentionWin.cs | 8 ++
System/Auction/TransactionRecordWin.cs | 6 ++
9 files changed, 110 insertions(+), 15 deletions(-)
diff --git a/Lua/Gen/SnxxzUIEquipModelWrap.cs b/Lua/Gen/SnxxzUIEquipModelWrap.cs
index 5ad737a..2a8966a 100644
--- a/Lua/Gen/SnxxzUIEquipModelWrap.cs
+++ b/Lua/Gen/SnxxzUIEquipModelWrap.cs
@@ -286,12 +286,6 @@
{
- string _equipGuid = LuaAPI.lua_tostring(L, 2);
-
- gen_to_be_invoked.SelectCandidateEquip( _equipGuid );
-
-
-
return 0;
}
diff --git a/System/Auction/AttentionWin.cs b/System/Auction/AttentionWin.cs
index bf97420..2e933cf 100644
--- a/System/Auction/AttentionWin.cs
+++ b/System/Auction/AttentionWin.cs
@@ -21,7 +21,8 @@
[SerializeField] Button m_CloseButton;
AuctionInquiryModel model { get { return ModelCenter.Instance.GetModel<AuctionInquiryModel>(); } }
AuctionHelpModel auctionHelpModel { get { return ModelCenter.Instance.GetModel<AuctionHelpModel>(); } }
- List<AuctionItemConfig> auctionItemList = new List<AuctionItemConfig>();
+ List<AuctionItemConfig> auctionItemList = new List<AuctionItemConfig>();
+ ItemTipsModel itemTipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
int ItemType = 1;
#region Built-in
enum AttentionType
@@ -111,6 +112,11 @@
}
ItemCellModel cellModel = new ItemCellModel(itemConfig.ID, true, (ulong)1);
itemCell.Init(cellModel);
+ itemCell.button.SetListener(() =>
+ {
+ ItemAttrData attrData = new ItemAttrData(itemConfig.ID, true, (ulong)1);
+ itemTipsModel.SetItemTipsModel(attrData);
+ });
textName.text = itemConfig.ItemName;
if (model.AttentionAuctionItemIDdic.ContainsKey(auctionItem.ItemID))
{
diff --git a/System/Auction/AuctionHouseWin.cs b/System/Auction/AuctionHouseWin.cs
index 348d623..a88cdc2 100644
--- a/System/Auction/AuctionHouseWin.cs
+++ b/System/Auction/AuctionHouseWin.cs
@@ -68,7 +68,7 @@
protected override void OnPreClose()
{
- CloseChild();
+ CloseImmediately();
if (!WindowCenter.Instance.IsOpen<MainInterfaceWin>())
{
WindowCenter.Instance.Open<MainInterfaceWin>();
diff --git a/System/Auction/MyFocusWin.cs b/System/Auction/MyFocusWin.cs
index ac08e4f..39fa60f 100644
--- a/System/Auction/MyFocusWin.cs
+++ b/System/Auction/MyFocusWin.cs
@@ -42,7 +42,7 @@
{
model.AttentionAuctionItemUdate += Reset;
model.ClearAuctionUpdate += Reset;
- model.RefreshAuctionItemUpdate -= Update;//鍒锋柊
+ model.RefreshAuctionItemUpdate -= AuctionItemUpdate;//鍒锋柊
model.FamilyAuctionItemUpdate += Reset;
}
@@ -52,9 +52,10 @@
{
model.AttentionAuctionItemUdate -= Reset;
model.ClearAuctionUpdate -= Reset;
- model.RefreshAuctionItemUpdate -= Update;//鍒锋柊
+ model.RefreshAuctionItemUpdate -= AuctionItemUpdate;//鍒锋柊
model.FamilyAuctionItemUpdate -= Reset;
}
+
protected override void OnAfterClose()
@@ -68,10 +69,12 @@
ListSotr();
OnCreateGridLineCell(m_ScrollerController);
}
- private void Update()
+
+ private void AuctionItemUpdate()
{
m_ScrollerController.m_Scorller.RefreshActiveCellViews();//鍒锋柊鍙
}
+
private void OnCreateGridLineCell(ScrollerController gridCtrl)
{
gridCtrl.Refresh();
diff --git a/System/Auction/TransactionRecordWin.cs b/System/Auction/TransactionRecordWin.cs
index e3fd74e..eb65a9b 100644
--- a/System/Auction/TransactionRecordWin.cs
+++ b/System/Auction/TransactionRecordWin.cs
@@ -25,6 +25,7 @@
AuctionInquiryModel model { get { return ModelCenter.Instance.GetModel<AuctionInquiryModel>(); } }
AuctionHelpModel auctionHelpModel { get { return ModelCenter.Instance.GetModel<AuctionHelpModel>(); } }
private List<AuctionItemClass> AuctionRecordList = new List<AuctionItemClass>();
+ ItemTipsModel itemTipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
int AuctionType = 0;
int MaxCount = 0;
#region Built-in
@@ -174,6 +175,11 @@
}
itemCell.Init(cellModel);
+ itemCell.button.SetListener(() =>
+ {
+ ItemAttrData attrData = new ItemAttrData(itemConfig.ID, true, (ulong)1);
+ itemTipsModel.SetItemTipsModel(attrData);
+ });
textName.text = itemConfig.ItemName;
timeText.text = auctionRecord.TimeStr;
}
diff --git a/System/Equip/CandidateEquipBehaviour.cs b/System/Equip/CandidateEquipBehaviour.cs
index bb6f569..e59f812 100644
--- a/System/Equip/CandidateEquipBehaviour.cs
+++ b/System/Equip/CandidateEquipBehaviour.cs
@@ -17,6 +17,7 @@
[SerializeField] Text m_EquipName;
[SerializeField] Text m_EquipSorce;
[SerializeField] Button m_Select;
+ [SerializeField] RectTransform m_SelectedContainer;
EquipModel model { get { return ModelCenter.Instance.GetModel<EquipModel>(); } }
PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
@@ -51,7 +52,7 @@
m_ItemCell.button.enabled = false;
var isEquipLevelUnlocked = model.IsLevelUnLocked(equip.config.LV);
- m_BackGround.gray=!isEquipLevelUnlocked;
+ m_BackGround.gray = !isEquipLevelUnlocked;
m_UnLockLabel.gameObject.SetActive(!isEquipLevelUnlocked);
m_EquipName.text = equip.config.ItemName;
m_EquipName.color = UIHelper.GetUIColor(equip.config.ItemColor, true);
@@ -65,6 +66,7 @@
{
if (force || candidateEquip.selected.dirty)
{
+ m_SelectedContainer.gameObject.SetActive(candidateEquip.selected.Fetch());
}
}
@@ -74,6 +76,11 @@
tipModel.SetItemTipsModel(PackType.Item, equip.guid, false, true);
tipModel.SetBagTipsBtn(tipModel.curAttrData);
tipModel.ShowUICtrl();
+
+ if (this.candidateEquip.selected.value)
+ {
+ model.ClearRecommendCandidateEquip();
+ }
}
}
diff --git a/System/Equip/EquipModel.cs b/System/Equip/EquipModel.cs
index ad92a5e..2f91075 100644
--- a/System/Equip/EquipModel.cs
+++ b/System/Equip/EquipModel.cs
@@ -258,12 +258,86 @@
}
}
- public void SelectCandidateEquip(string equipGuid)
+ public bool HasSamePlaceCandidateEquip(Int2 equipPosition)
{
for (int i = 0; i < candidateEquips.Count; i++)
{
- var candidateEquip = candidateEquips[i];
- candidateEquip.selected.value = candidateEquip.guid == equipGuid;
+ var item = packModel.GetItemByGuid(candidateEquips[i].guid);
+ if (item != null && item.config.LV == equipPosition.x && item.config.EquipPlace == equipPosition.y)
+ {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ public void RecommendCandidateEquip(Int2 equipPosition)
+ {
+ var highestScore = 0;
+ var highestScoreEquip = string.Empty;
+ for (int i = 0; i < candidateEquips.Count; i++)
+ {
+ var candidate = candidateEquips[i];
+ var item = packModel.GetItemByGuid(candidate.guid);
+ if (equipPosition.x == item.config.LV && item.config.EquipPlace == equipPosition.y)
+ {
+ if (item.score > highestScore)
+ {
+ highestScore = item.score;
+ highestScoreEquip = candidate.guid;
+ }
+ }
+ }
+
+ if (!string.IsNullOrEmpty(highestScoreEquip))
+ {
+ candidateEquips.Sort((CandidateEquip x, CandidateEquip y) =>
+ {
+ if (x.guid == highestScoreEquip && y.guid != highestScoreEquip)
+ {
+ return -1;
+ }
+ else if (x.guid != highestScoreEquip && y.guid == highestScoreEquip)
+ {
+ return 1;
+ }
+ else
+ {
+ var betterX = CompareToCurrent(x.guid);
+ var betterY = CompareToCurrent(y.guid);
+
+ if (betterX > 0 && betterY < 0)
+ {
+ return -1;
+ }
+ else if (betterX < 0 && betterY > 0)
+ {
+ return 1;
+ }
+ else
+ {
+ var a = packModel.GetItemByGuid(x.guid);
+ var b = packModel.GetItemByGuid(y.guid);
+ return -a.score.CompareTo(b.score);
+ }
+ }
+
+ });
+ }
+
+ for (int i = 0; i < candidateEquips.Count; i++)
+ {
+ candidateEquips[i].selected.value = candidateEquips[i].guid == highestScoreEquip;
+ }
+
+ }
+
+ public void ClearRecommendCandidateEquip()
+ {
+ for (int i = 0; i < candidateEquips.Count; i++)
+ {
+ candidateEquips[i].selected.value = false;
}
}
diff --git a/System/Equip/EquipSlotBehaviour.cs b/System/Equip/EquipSlotBehaviour.cs
index e9b6353..659b425 100644
--- a/System/Equip/EquipSlotBehaviour.cs
+++ b/System/Equip/EquipSlotBehaviour.cs
@@ -119,6 +119,10 @@
tipModel.SetPutOnTipsBtn(tipModel.curAttrData);
tipModel.ShowUICtrl();
}
+ else if (model.HasSamePlaceCandidateEquip(slot.equipPosition))
+ {
+ model.RecommendCandidateEquip(slot.equipPosition);
+ }
else
{
model.RefreshGetWays(slot.equipPosition);
diff --git a/System/ItemTip/TipGemInfoWidget.cs b/System/ItemTip/TipGemInfoWidget.cs
index 2aae80e..7897ff3 100644
--- a/System/ItemTip/TipGemInfoWidget.cs
+++ b/System/ItemTip/TipGemInfoWidget.cs
@@ -74,6 +74,7 @@
}
propertyBehaviour.text = string.Join("\r\n", lines);
+ propertyBehaviour.gameObject.SetActive(true);
}
else
{
--
Gitblit v1.8.0