From 807064e2ee58a03e177340bc2cde1df5b73b2273 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期三, 27 三月 2019 11:13:54 +0800
Subject: [PATCH] 3335 升星和洗练界面添加装备星级显示.
---
System/EquipGem/EquipGemWin.cs | 2
System/EquipStar/EquipStarModel.cs | 37 +++++++++++++++++-
Lua/Gen/SnxxzUIEquipStarModelWrap.cs | 2
System/EquipStar/EquipStarUpgradeCandidate.cs | 1
System/ItemTip/EquipTipUtility.cs | 4 +-
System/EquipGem/EquipStrengthSelectBehaviour.cs | 2
System/EquipStar/EquipStarUpgradeCandidateSlot.cs | 8 ++++
System/EquipTrain/EquipTrainModel.cs | 2 +
System/EquipGem/EquipGemSelectBehaviour.cs | 2
System/EquipGem/EquipStrengthWin.cs | 4 +-
System/EquipGem/EquipGemModel.cs | 2
System/EquipStar/EquipStarWin.cs | 5 ++
12 files changed, 60 insertions(+), 11 deletions(-)
diff --git a/Lua/Gen/SnxxzUIEquipStarModelWrap.cs b/Lua/Gen/SnxxzUIEquipStarModelWrap.cs
index 034bb0a..32ca80d 100644
--- a/Lua/Gen/SnxxzUIEquipStarModelWrap.cs
+++ b/Lua/Gen/SnxxzUIEquipStarModelWrap.cs
@@ -518,7 +518,7 @@
{
Int2 _equipPosition;translator.Get(L, 2, out _equipPosition);
- int gen_ret = gen_to_be_invoked.GetEquipStarLevel( _equipPosition );
+ int gen_ret = gen_to_be_invoked.GetStarLevel( _equipPosition );
LuaAPI.xlua_pushinteger(L, gen_ret);
diff --git a/System/EquipGem/EquipGemModel.cs b/System/EquipGem/EquipGemModel.cs
index 9bdbdd1..8f02224 100644
--- a/System/EquipGem/EquipGemModel.cs
+++ b/System/EquipGem/EquipGemModel.cs
@@ -288,7 +288,7 @@
starLimit = itemLevelStars[equip.config.LV];
}
}
- var star = Mathf.Min(starLimit, equipStarModel.GetEquipStarLevel(equipPosition));
+ var star = Mathf.Min(starLimit, equipStarModel.GetStarLevel(equipPosition));
if (star < condition.equipStar)
{
return false;
diff --git a/System/EquipGem/EquipGemSelectBehaviour.cs b/System/EquipGem/EquipGemSelectBehaviour.cs
index c7c6552..b1bcd79 100644
--- a/System/EquipGem/EquipGemSelectBehaviour.cs
+++ b/System/EquipGem/EquipGemSelectBehaviour.cs
@@ -73,7 +73,7 @@
m_ItemName.color = UIHelper.GetUIColor(item.config.ItemColor, true);
var maxStar = EquipStarModel.GetMaxStarLevel(item.config.ItemColor, item.config.LV);
- var starLevel = Mathf.Min(maxStar, equipStarModel.GetEquipStarLevel(new Int2(equipLevel, equipPlace)));
+ var starLevel = Mathf.Min(maxStar, equipStarModel.GetStarLevel(new Int2(equipLevel, equipPlace)));
m_EquipStar.text = starLevel == 0 ? string.Empty : Language.Get("EquipStarLevel", starLevel);
}
}
diff --git a/System/EquipGem/EquipGemWin.cs b/System/EquipGem/EquipGemWin.cs
index 2cc30cf..91a2dc8 100644
--- a/System/EquipGem/EquipGemWin.cs
+++ b/System/EquipGem/EquipGemWin.cs
@@ -244,7 +244,7 @@
});
var maxStar = EquipStarModel.GetMaxStarLevel(equip.config.ItemColor, equip.config.LV);
- var starLevel = Mathf.Min(maxStar, equipStarModel.GetEquipStarLevel(equipPosition));
+ var starLevel = Mathf.Min(maxStar, equipStarModel.GetStarLevel(equipPosition));
m_EquipStar.text = starLevel == 0 ? string.Empty : Language.Get("EquipStarLevel", starLevel);
}
diff --git a/System/EquipGem/EquipStrengthSelectBehaviour.cs b/System/EquipGem/EquipStrengthSelectBehaviour.cs
index df9d775..d65d349 100644
--- a/System/EquipGem/EquipStrengthSelectBehaviour.cs
+++ b/System/EquipGem/EquipStrengthSelectBehaviour.cs
@@ -77,7 +77,7 @@
m_ItemName.color = UIHelper.GetUIColor(item.config.ItemColor, true);
var maxStar = EquipStarModel.GetMaxStarLevel(item.config.ItemColor, item.config.LV);
- var starLevel = Mathf.Min(maxStar, equipStarModel.GetEquipStarLevel(new Int2(equipLevel, equipPlace)));
+ var starLevel = Mathf.Min(maxStar, equipStarModel.GetStarLevel(new Int2(equipLevel, equipPlace)));
m_EquipStar.text = Language.Get("EquipStarLevel", starLevel);
m_EquipStar.gameObject.SetActive(starLevel>0);
}
diff --git a/System/EquipGem/EquipStrengthWin.cs b/System/EquipGem/EquipStrengthWin.cs
index 3eb4e36..1fb0ae8 100644
--- a/System/EquipGem/EquipStrengthWin.cs
+++ b/System/EquipGem/EquipStrengthWin.cs
@@ -255,7 +255,7 @@
if (equiped)
{
int equipIndex = EquipPlaceMapConfig.GetServerPlace(equipLevel, equipPlace);
- int star = equipStarModel.GetEquipStarLevel( new Int2(equipLevel, equipPlace));
+ int star = equipStarModel.GetStarLevel( new Int2(equipLevel, equipPlace));
int equipLv = 0;
int advancedLv = 0;
if (strengthModel.EquipStrengthDic.ContainsKey(equipIndex))//鑾峰彇褰撳墠寮哄寲绛夌骇
@@ -366,7 +366,7 @@
bool isBool = false;
var equipPosition = new Int2(strengthModel.SelectLevel, strengthModel.SelectEquipPlace);
int equipIndex = EquipSet.ClientPlaceToServerPlace(equipPosition);
- int star = equipStarModel.GetEquipStarLevel(equipPosition);
+ int star = equipStarModel.GetStarLevel(equipPosition);
int equipLv = 0;
if (strengthModel.EquipStrengthDic.ContainsKey(equipIndex))//鑾峰彇褰撳墠寮哄寲绛夌骇
{
diff --git a/System/EquipStar/EquipStarModel.cs b/System/EquipStar/EquipStarModel.cs
index 63579a6..f2eb72b 100644
--- a/System/EquipStar/EquipStarModel.cs
+++ b/System/EquipStar/EquipStarModel.cs
@@ -64,6 +64,12 @@
equipStarLevel.value = GetEquipStarLevel(new Int2(selectedLevel.value, selectedPlace.value));
selectedPlace.dirty = true;
+
+ for (int i = 0; i < candidatePlaces.Count; i++)
+ {
+ var candidate = candidatePlaces[i];
+ candidate.starLevel.value = GetEquipStarLevel(candidate.equipPosition);
+ }
}
void OnGetUpgradeStarResult(H0721_tagMakeItemAnswer info)
@@ -169,7 +175,9 @@
{
var place = places[i];
var equipPosition = new Int2(level, place);
- candidatePlaces[place] = new EquipStarUpgradeCandidate(equipPosition);
+ var candidate = new EquipStarUpgradeCandidate(equipPosition);
+ candidate.starLevel.value = GetEquipStarLevel(equipPosition);
+ candidatePlaces[place] = candidate;
if (i == 0)
{
SelectPlace(equipPosition);
@@ -287,6 +295,23 @@
return max;
}
+ public int GetEquipPositionMaxStarLevel(Int2 equipPosition)
+ {
+ var equipGuid = equipModel.GetEquip(equipPosition);
+ if (equipGuid == null)
+ {
+ return 0;
+ }
+
+ var equip = packModel.GetItemByGuid(equipGuid);
+ if (equip == null)
+ {
+ return 0;
+ }
+
+ return GetMaxStarLevel(equip.config.ItemColor, equip.config.LV);
+ }
+
public int GetTotalStarLevel(int level)
{
if (!equipStars.ContainsKey(level))
@@ -297,7 +322,7 @@
return equipStars[level].GetTotalStarLevel();
}
- public int GetEquipStarLevel(Int2 equipPosition)
+ public int GetStarLevel(Int2 equipPosition)
{
if (!equipStars.ContainsKey(equipPosition.x))
{
@@ -307,6 +332,14 @@
return equipStars[equipPosition.x].GetEquipStarLevel(equipPosition.y);
}
+ public int GetEquipStarLevel(Int2 equipPosition)
+ {
+ var starLevel = GetStarLevel(equipPosition);
+ var maxLevel = GetEquipPositionMaxStarLevel(equipPosition);
+
+ return Mathf.Min(starLevel, maxLevel);
+ }
+
public List<int> GetMaterialGetWays(Int2 equipPosition, int starLevel)
{
var config = EquipStarConfig.Get(equipPosition.x, equipPosition.y, starLevel);
diff --git a/System/EquipStar/EquipStarUpgradeCandidate.cs b/System/EquipStar/EquipStarUpgradeCandidate.cs
index 1ab8a52..ace5f49 100644
--- a/System/EquipStar/EquipStarUpgradeCandidate.cs
+++ b/System/EquipStar/EquipStarUpgradeCandidate.cs
@@ -13,6 +13,7 @@
{
public readonly Int2 equipPosition;
public readonly LogicBool selected = new LogicBool();
+ public readonly LogicInt starLevel = new LogicInt();
public EquipStarUpgradeCandidate(Int2 equipPosition)
{
diff --git a/System/EquipStar/EquipStarUpgradeCandidateSlot.cs b/System/EquipStar/EquipStarUpgradeCandidateSlot.cs
index ca78091..ebea1c6 100644
--- a/System/EquipStar/EquipStarUpgradeCandidateSlot.cs
+++ b/System/EquipStar/EquipStarUpgradeCandidateSlot.cs
@@ -14,6 +14,7 @@
[SerializeField] Image m_BackGround;
[SerializeField] Image m_EmptyItem;
[SerializeField] ItemCell m_ItemCell;
+ [SerializeField] Text m_EquipStar;
[SerializeField] Text m_Description1;
[SerializeField] Text m_Description2;
[SerializeField] Button m_Select;
@@ -76,6 +77,13 @@
var selected = this.candidate.selected.Fetch();
m_BackGround.SetSprite(selected ? "Title_RightWindow" : "Title_PopupWindow");
}
+
+ if (force || this.candidate.starLevel.dirty)
+ {
+ var starLevel = this.candidate.starLevel.Fetch();
+ m_EquipStar.text = starLevel >= 1 ? string.Format("{0}鏄�", starLevel) : "";
+ }
+
}
}
diff --git a/System/EquipStar/EquipStarWin.cs b/System/EquipStar/EquipStarWin.cs
index 96992f9..20c1a9d 100644
--- a/System/EquipStar/EquipStarWin.cs
+++ b/System/EquipStar/EquipStarWin.cs
@@ -17,6 +17,7 @@
[SerializeField] RectTransform m_LevelContainer;
[SerializeField] ImageCouple[] m_Stars;
[SerializeField] ItemCell m_TargetEquip;
+ [SerializeField] Text m_EquipStar;
[SerializeField] Materials m_Materials;
[SerializeField] Text m_SuccessRate;
[SerializeField] RectTransform m_EmptyHint;
@@ -121,9 +122,13 @@
m_TargetEquip.gameObject.SetActive(true);
m_TargetEquip.Init(equip);
currentStarLevel = model.GetEquipStarLevel(equipPosition);
+
+ m_EquipStar.gameObject.SetActive(true);
+ m_EquipStar.text = currentStarLevel >= 1 ? string.Format("{0}鏄�", currentStarLevel) : "";
}
else
{
+ m_EquipStar.gameObject.SetActive(false);
m_TargetEquip.gameObject.SetActive(false);
}
diff --git a/System/EquipTrain/EquipTrainModel.cs b/System/EquipTrain/EquipTrainModel.cs
index 431e307..d534359 100644
--- a/System/EquipTrain/EquipTrainModel.cs
+++ b/System/EquipTrain/EquipTrainModel.cs
@@ -234,6 +234,7 @@
var trainCandidate = new EquipTrainCandidate(equipPosition);
trainCandidate.trainLevel.value = GetTrainLevel(equipPosition);
trainCandidate.equipGuid.value = equipModel.GetEquip(equipPosition);
+ trainCandidate.starLevel.value = starModel.GetEquipStarLevel(equipPosition);
candidatePlaces.Add(trainCandidate);
}
@@ -292,6 +293,7 @@
var trainState = GetEquipPlaceTrainState(equipPosition);
equipTrainLevel.value = GetTrainLevel(equipPosition);
equipTrainMaxLevel.value = trainState == TrainState.Empty ? -1 : GetMaxTrainLevel(equipPosition);
+ equipTrainMaxLevel.dirty = true;
material.value = GetTrainMaterial(equipPosition);
operateType.value = CalculateTrainOperateType(equipPosition);
diff --git a/System/ItemTip/EquipTipUtility.cs b/System/ItemTip/EquipTipUtility.cs
index 5e1c557..f8a776c 100644
--- a/System/ItemTip/EquipTipUtility.cs
+++ b/System/ItemTip/EquipTipUtility.cs
@@ -504,7 +504,7 @@
var starInfo = new StarInfo();
starInfo.equipPosition = new Int2(config.LV, config.EquipPlace);
starInfo.maxLevel = EquipStarModel.GetMaxStarLevel(config.ItemColor, config.LV);
- starInfo.starLevel = starModel.GetEquipStarLevel(new Int2(config.LV, config.EquipPlace));
+ starInfo.starLevel = starModel.GetStarLevel(new Int2(config.LV, config.EquipPlace));
return starInfo;
}
@@ -668,7 +668,7 @@
GemHoleCondition condition;
if (gemModel.TryGetGemHoleCondition(hole, out condition))
{
- var star = starModel.GetEquipStarLevel(equipPosition);
+ var star = starModel.GetStarLevel(equipPosition);
if (Mathf.Min(star, maxStar) < condition.equipStar)
{
return false;
--
Gitblit v1.8.0