From 56b9c524aa379cfce1ac3a7ab33236dd4bee8a23 Mon Sep 17 00:00:00 2001
From: Client_PangDeRong <593317293@qq.com>
Date: 星期四, 06 九月 2018 14:45:52 +0800
Subject: [PATCH] 1855 仙器替换界面显示评分比较图标
---
System/KnapSack/New/CommonItemBaisc.cs | 173 ++++++++++++++++++++++++++++-----------------------------
1 files changed, 86 insertions(+), 87 deletions(-)
diff --git a/System/KnapSack/New/CommonItemBaisc.cs b/System/KnapSack/New/CommonItemBaisc.cs
index b0edb67..9c4a059 100644
--- a/System/KnapSack/New/CommonItemBaisc.cs
+++ b/System/KnapSack/New/CommonItemBaisc.cs
@@ -126,23 +126,23 @@
/// </summary>
/// <param name="model"></param>
/// <param name="isCompare"></param>
- public virtual void Init(ItemModel model,bool isCompare = false)
+ public virtual void Init(ItemModel model,bool isCompare = false,int compareScore = 0)
{
itemConfig = Config.Instance.Get<ItemConfig>(model.itemInfo.ItemID);
- InitUI(model.itemInfo.ItemGUID,model.itemInfo.ItemID,(ulong)model.itemInfo.ItemCount,model.equipScore,model.itemInfo.IsBind,model.packType,isCompare,model.useDataDict);
+ InitUI(model.itemInfo.ItemGUID,model.itemInfo.ItemID,(ulong)model.itemInfo.ItemCount,model.equipScore,model.itemInfo.IsBind,model.packType,isCompare,model.useDataDict,compareScore);
}
/// <summary>
/// 鍒濆鍖栨暟鎹紙棰勮锛�
/// </summary>
/// <param name="model"></param>
- public virtual void Init(ItemCellModel model)
+ public virtual void Init(ItemCellModel model, int compareScore = 0)
{
itemConfig = model.itemConfig;
- InitUI(model.guid,model.itemId, model.count, model.score, model.isBind,model.packType,model.isCompare,model.useDataDic);
+ InitUI(model.guid,model.itemId, model.count, model.score, model.isBind,model.packType,model.isCompare,model.useDataDic,compareScore);
}
- private void InitUI(string guid,int itemId,ulong count,int score,int isBind,PackType type,bool isCompare, Dictionary<int, List<int>> useDataDic)
+ private void InitUI(string guid,int itemId,ulong count,int score,int isBind,PackType type,bool isCompare, Dictionary<int, List<int>> useDataDic, int compareScore = 0)
{
if (itemConfig == null) return;
@@ -185,102 +185,101 @@
countText.gameObject.SetActive(false);
}
- if(!isCompare || type == PackType.rptEquip)
+ int compareReslut = CheckIsCompare(type,itemId,score,isCompare,compareScore,guid);
+ switch(compareReslut)
{
- stateIcon.gameObject.SetActive(false);
+ case 0:
+ stateIcon.gameObject.SetActive(false);
+ break;
+ case 1:
+ stateIcon.gameObject.SetActive(true);
+ stateIcon.SetSprite("EquipForbidIcon");
+ break;
+ case 2:
+ stateIcon.gameObject.SetActive(true);
+ stateIcon.SetSprite("EquipUpIcon");
+ break;
+ case 3:
+ stateIcon.gameObject.SetActive(true);
+ stateIcon.SetSprite("EquipDownIcon");
+ break;
+ }
+ }
+
+ /// <summary>
+ /// 0 涓嶆瘮杈� 1 绂佹姣旇緝 2 楂樿瘎鍒� 3 浣庤瘎鍒�
+ /// </summary>
+ /// <param name="itemId"></param>
+ /// <param name="score"></param>
+ /// <param name="isCompare"></param>
+ /// <param name="compareSocre"></param>
+ /// <returns></returns>
+ public int CheckIsCompare(PackType type,int itemId, int score, bool isCompare,int compareSocre,string guid = "")
+ {
+ ItemConfig config = Config.Instance.Get<ItemConfig>(itemId);
+ int playerJob = PlayerDatas.Instance.baseData.Job;
+ if (config == null || (!isCompare && compareSocre <= 0) || config.EquipPlace == 0) return 0;
+
+ ItemModel model = playerPack.GetItemModelByGUID(guid);
+ if (model != null
+ && (modelInterface.IsOverdue(guid, itemId, model.useDataDict)
+ || (playerJob != Math.Floor((double)config.JobLimit / 100) && config.JobLimit != 0))) return 1;
+
+ if(isCompare)
+ {
+ if(type != PackType.rptDogzItem)
+ {
+ compareSocre = GetCompareSocre(PackType.rptEquip,config.EquipPlace);
+ }
+ else
+ {
+ compareSocre = GetCompareSocre(PackType.rptDogzEquip, config.EquipPlace);
+ }
+ if(score == compareSocre)
+ {
+ return 0;
+ }
+ else
+ {
+ return score > compareSocre ? 2 : 3;
+ }
}
else
{
- stateIcon.gameObject.SetActive(true);
- if(type != PackType.rptDogzItem)
- {
- bool isOverdue = modelInterface.IsOverdue(guid, itemId, useDataDic);
- if (!isOverdue)
+ return score > compareSocre ? 2 : 3;
+ }
+
+ }
+
+ public int GetCompareSocre(PackType type,int equipPlace)
+ {
+ switch (type)
+ {
+ case PackType.rptEquip:
+ switch ((RoleEquipType)equipPlace)
{
- ItemModel putOnModel = playerPack.GetItemModelByIndex(PackType.rptEquip, itemConfig.EquipPlace);
- if (itemConfig.EquipPlace == (int)RoleEquipType.retFairyCan)
- {
- ItemModel fairyModel2 = playerPack.GetItemModelByIndex(PackType.rptEquip, (int)RoleEquipType.retFairyCan2);
- if (fairyModel2 != null)
+ case RoleEquipType.retFairyCan:
+ ItemModel fairy01 = playerPack.GetItemModelByIndex(type,(int)RoleEquipType.retFairyCan);
+ ItemModel fairy02 = playerPack.GetItemModelByIndex(type, (int)RoleEquipType.retFairyCan2);
+ if(fairy01 == null || fairy02 == null)
{
- if (putOnModel != null)
- {
- if (fairyModel2.equipScore < putOnModel.equipScore)
- {
- putOnModel = fairyModel2;
- }
- }
+ return 0;
}
else
{
- putOnModel = fairyModel2;
+ return fairy01.equipScore >= fairy02.equipScore ? fairy02.equipScore : fairy01.equipScore;
}
- }
- int equipScore1 = 0;
- if (putOnModel != null)
- {
- equipScore1 = putOnModel.equipScore;
- }
- int playerJob = PlayerDatas.Instance.baseData.Job;
- if (playerJob == Math.Floor((double)itemConfig.JobLimit / 100) || itemConfig.JobLimit == 0)
- {
- if (equipScore1 > score)
- {
- stateIcon.SetSprite("EquipDownIcon");
- }
- else if (equipScore1 < score)
- {
- stateIcon.SetSprite("EquipUpIcon");
- }
- else
- {
- stateIcon.gameObject.SetActive(false);
- }
- }
- else
- {
- stateIcon.SetSprite("EquipForbidIcon");
- }
+ default:
+ ItemModel model = playerPack.GetItemModelByIndex(type,equipPlace);
+ return model == null ? 0 : model.equipScore;
}
- else
- {
- stateIcon.SetSprite("EquipForbidIcon");
- }
- }
- else
- {
+ case PackType.rptDogzEquip:
var dogzModel = ModelCenter.Instance.GetModel<DogzModel>();
ItemModel putOnModel = null;
- dogzModel.TryGetDogzEquip(dogzModel.presentSelectDogz, itemConfig.EquipPlace,out putOnModel);
- if(putOnModel != null)
- {
- if(putOnModel.equipScore > score)
- {
- stateIcon.SetSprite("EquipDownIcon");
- }
- else if(putOnModel.equipScore < score)
- {
- stateIcon.SetSprite("EquipUpIcon");
- }
- else
- {
- stateIcon.gameObject.SetActive(false);
- }
- }
- else
- {
- if(score > 0)
- {
- stateIcon.SetSprite("EquipUpIcon");
- }
- else
- {
- stateIcon.gameObject.SetActive(false);
- }
- }
- }
-
+ dogzModel.TryGetDogzEquip(dogzModel.presentSelectDogz, equipPlace, out putOnModel);
+ return putOnModel == null ? 0 : putOnModel.equipScore;
}
+ return 0;
}
}
--
Gitblit v1.8.0