760 lines
21 KiB
C#
760 lines
21 KiB
C#
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
using System.Collections;
|
|
using Games.Item;
|
|
using System.Collections.Generic;
|
|
using GCGame.Table;
|
|
|
|
public class EquipEnhanceRoot : UIControllerBase<EquipEnhanceRoot>
|
|
{
|
|
|
|
public static GameItem _DefaultSelectedItem;
|
|
public static int _DefaultSelectedPage = -1;
|
|
//private List<GameItem> curSelected = new List<GameItem>();
|
|
|
|
public static void ShowEnhanceRoot(GameItem showItem, int showPage = 0)
|
|
{
|
|
Hashtable hashtable = new Hashtable();
|
|
hashtable.Add("ShowItem", showItem);
|
|
hashtable.Add("ShowPage", showPage);
|
|
_DefaultSelectedItem = showItem;
|
|
_DefaultSelectedPage = showPage;
|
|
UIManager.ShowUI(UIInfo.EquipEnhance, ShowUIOver, hashtable);
|
|
}
|
|
|
|
public static void ShowEnhanceRootStr(string pageStr)
|
|
{
|
|
int page = int.Parse(pageStr);
|
|
|
|
Hashtable hashtable = new Hashtable();
|
|
hashtable.Add("ShowPage", page);
|
|
_DefaultSelectedPage = page;
|
|
UIManager.ShowUI(UIInfo.EquipEnhance, ShowUIOver, hashtable);
|
|
}
|
|
|
|
public static void ShowUIOver(bool isSucess, object param)
|
|
{
|
|
Hashtable hash = param as Hashtable;
|
|
|
|
GameItem equipItem = (GameItem)hash["ShowItem"];
|
|
int showPage = (int)hash["ShowPage"];
|
|
_DefaultSelectedItem = equipItem;
|
|
|
|
//EquipEnhanceRoot.Instance()._TagPanel.ShowPage(showPage);
|
|
}
|
|
|
|
void Awake()
|
|
{
|
|
SetInstance(this);
|
|
}
|
|
|
|
void OnDestory()
|
|
{
|
|
SetInstance(null);
|
|
}
|
|
|
|
// Use this for initialization
|
|
void OnEnable()
|
|
{
|
|
UIManager.ShowUI(UIInfo.MoneyInfoPanel);
|
|
InitAllEquipList();
|
|
if (_DefaultSelectedPage >= 0)
|
|
{
|
|
TryOpen(_DefaultSelectedPage);
|
|
OnTabPage(_DefaultSelectedPage);
|
|
}
|
|
else
|
|
{
|
|
// 默认打开强化界面
|
|
TryOpen(1);
|
|
OnTabPage(1);
|
|
}
|
|
|
|
UpdateQianghuaTips();
|
|
UpdateXiangqianTips();
|
|
UpdateHeChengTips();
|
|
UpdateFrenzyRedTips();
|
|
|
|
if (EquipAutoUseLogic.Instance() != null)
|
|
{
|
|
EquipAutoUseLogic.Instance().CloseWindow();
|
|
}
|
|
|
|
|
|
|
|
UpdateTagState();
|
|
}
|
|
|
|
private void OnDisable()
|
|
{
|
|
UIManager.CloseUI(UIInfo.MoneyInfoPanel);
|
|
}
|
|
|
|
// 更新切页按钮的解锁情况
|
|
private void UpdateTagState()
|
|
{
|
|
Tab_FunctionOpen frenzyTab = TableManager.GetFunctionOpenByID(16, 0);
|
|
bool frenzyLock = GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Level < frenzyTab.OpenLevel;
|
|
lockedFrenzyBtn.SetActive(frenzyLock);
|
|
frenzyToggle.SetActive(!frenzyLock);
|
|
|
|
Tab_FunctionOpen xiLianTab = TableManager.GetFunctionOpenByID(17, 0);
|
|
bool xiLianLock = GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Level < xiLianTab.OpenLevel;
|
|
lockedXiLianBtn.SetActive(xiLianLock);
|
|
xiLianToggle.SetActive(!xiLianLock);
|
|
|
|
Tab_FunctionOpen xiangQianTab = TableManager.GetFunctionOpenByID(18, 0);
|
|
bool xiangQianLock = GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Level < xiangQianTab.OpenLevel;
|
|
lockedXiangQianBtn.SetActive(xiangQianLock);
|
|
xiangQianToggle.SetActive(!xiangQianLock);
|
|
}
|
|
|
|
//public void ShowFrenzyPanel()
|
|
//{
|
|
// Tab_FunctionOpen tab = TableManager.GetFunctionOpenByID(16, 0);
|
|
|
|
// if (GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Level >= tab.OpenLevel)
|
|
// {
|
|
// lockedFrenzyBtn.SetActive(false);
|
|
// frenzyToggle.SetActive(true);
|
|
// _TagPanel.ShowPage(3);
|
|
// }
|
|
// else
|
|
// {
|
|
// lockedFrenzyBtn.SetActive(true);
|
|
// frenzyToggle.SetActive(false);
|
|
// OnLockFrenzyClick();
|
|
// }
|
|
//}
|
|
|
|
public void OnLockFrenzyClick()
|
|
{
|
|
Tab_FunctionOpen tab = TableManager.GetFunctionOpenByID(16, 0);
|
|
GUIData.AddNotifyData(StrDictionary.GetClientDictionaryString("#{5407}", tab.OpenLevel));
|
|
}
|
|
|
|
public void OnLockXiLianClick()
|
|
{
|
|
Tab_FunctionOpen tab = TableManager.GetFunctionOpenByID(17, 0);
|
|
GUIData.AddNotifyData(StrDictionary.GetClientDictionaryString("#{5407}", tab.OpenLevel));
|
|
}
|
|
|
|
public void OnLockXiangQianClick()
|
|
{
|
|
Tab_FunctionOpen tab = TableManager.GetFunctionOpenByID(18, 0);
|
|
GUIData.AddNotifyData(StrDictionary.GetClientDictionaryString("#{5407}", tab.OpenLevel));
|
|
}
|
|
|
|
public void CloseWindow()
|
|
{
|
|
_AllEquipList = null;
|
|
UIManager.CloseUI(UIInfo.EquipEnhance);
|
|
_DefaultSelectedItem = null;
|
|
_DefaultSelectedPage = -1;
|
|
|
|
EquipAutoUseLogic.AutoRelease();
|
|
}
|
|
|
|
public void OnTabPage(int page)
|
|
{
|
|
|
|
}
|
|
|
|
// 0 - 洗练
|
|
// 1 - 强化
|
|
// 2 - 镶嵌
|
|
// 3 - 狂化
|
|
// 4 - 合成
|
|
public bool TryOpen(int pageIndex)
|
|
{
|
|
Tab_FunctionOpen tab = null;
|
|
switch (pageIndex)
|
|
{
|
|
case 0:
|
|
tab = TableManager.GetFunctionOpenByID(17);
|
|
break;
|
|
case 2:
|
|
tab = TableManager.GetFunctionOpenByID(18);
|
|
break;
|
|
case 3:
|
|
tab = TableManager.GetFunctionOpenByID(16);
|
|
break;
|
|
}
|
|
|
|
if (tab != null && tab.OpenLevel > GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Level)
|
|
{
|
|
switch(pageIndex)
|
|
{
|
|
case 0:
|
|
OnLockXiLianClick();
|
|
break;
|
|
case 2:
|
|
OnLockXiangQianClick();
|
|
break;
|
|
case 3:
|
|
OnLockFrenzyClick();
|
|
break;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
EquipEnhanceRoot.Instance()._TagPanel.ShowPage(pageIndex);
|
|
return true;
|
|
}
|
|
}
|
|
|
|
public UITagPanel _TagPanel;
|
|
public EquipEnhanceContainer _EquipContainer;
|
|
public GameObject lockedXiLianBtn;
|
|
public GameObject xiLianToggle;
|
|
public GameObject lockedXiangQianBtn;
|
|
public GameObject xiangQianToggle;
|
|
public GameObject lockedFrenzyBtn;
|
|
public GameObject frenzyToggle;
|
|
|
|
|
|
public List<GameItem> _AllEquipList;
|
|
public void InitAllEquipList()
|
|
{
|
|
//if (_AllEquipList == null)
|
|
{
|
|
_AllEquipList = new List<GameItem>();
|
|
var equipList = GameManager.gameManager.PlayerDataPool.EquipPack.GetList();
|
|
foreach (var equipItem in equipList)
|
|
{
|
|
if (equipItem.IsValid())
|
|
_AllEquipList.Add(equipItem);
|
|
}
|
|
|
|
//var backPackItems = GameManager.gameManager.PlayerDataPool.BackPack.GetList();
|
|
//foreach (var backPackItem in backPackItems)
|
|
//{
|
|
// if (backPackItem.IsValid() && backPackItem.IsEquipMent())
|
|
// {
|
|
// _AllEquipList.Add(backPackItem);
|
|
// }
|
|
//}
|
|
|
|
//_AllEquipList.Sort((equip1, equip2) =>
|
|
//{
|
|
// if (equip1.IsPlayerEquiped() && !equip2.IsPlayerEquiped())
|
|
// return -1;
|
|
// else if (!equip1.IsPlayerEquiped() && equip2.IsPlayerEquiped())
|
|
// return 1;
|
|
// else
|
|
// return 0;
|
|
//});
|
|
}
|
|
}
|
|
|
|
public bool RefreshItems()
|
|
{
|
|
bool refreshOk = true;
|
|
_EquipContainer.ForeachActiveItem<EquipEnhanceItem>((enhanceItem) =>
|
|
{
|
|
refreshOk |= enhanceItem.RefreshEqupItem();
|
|
});
|
|
|
|
return refreshOk;
|
|
}
|
|
|
|
public void OnBtnXilianHelp()
|
|
{
|
|
MessageHelpLogic.ShowHelpMessage(3);
|
|
}
|
|
|
|
#region equip qianhua tips
|
|
|
|
public static bool CanEquipEnhanceRedTips()
|
|
{
|
|
if (_SelectedQianghuaItem != null)
|
|
return true;
|
|
|
|
if (_SelectedXiangqianItem != null)
|
|
return true;
|
|
|
|
if (HasAnyCanHeCheng == true)
|
|
return true;
|
|
|
|
if (EquipFrenzy.HasAnyFrenzy)
|
|
return true;
|
|
|
|
return false;
|
|
}
|
|
|
|
public static void UpdateFucntionPanel()
|
|
{
|
|
if (CanEquipEnhanceRedTips())
|
|
{
|
|
RedTipPoint.RedPointStateChange(RedTipPoint.PointType.Equip, true);
|
|
}
|
|
else
|
|
{
|
|
RedTipPoint.RedPointStateChange(RedTipPoint.PointType.Equip,false);
|
|
}
|
|
}
|
|
|
|
public enum QIANGHUA_TIP
|
|
{
|
|
NONE,
|
|
QIANGHUA,
|
|
BUZHUI,
|
|
}
|
|
|
|
private static GameItem _SelectedQianghuaItem = null;
|
|
public GameObject _EquipEnhanceTip;
|
|
|
|
public static bool CanAnyEquipQianhua()
|
|
{
|
|
var selectItem = GetQianghuaSelectItem();
|
|
return selectItem != null;
|
|
}
|
|
|
|
public static QIANGHUA_TIP CanEquipQianhua(GameItem equipItem)
|
|
{
|
|
if (!equipItem.IsValid())
|
|
return QIANGHUA_TIP.NONE;
|
|
|
|
// 获取极限等级,极限等级前才考虑可强化
|
|
int maxLv = TableManager.GetEquipEnchanceRandRate().Count;
|
|
if (equipItem.StrengthLevel < maxLv)
|
|
{
|
|
var qianghua = equipItem.GetEquipStarRate(equipItem.StrengthLevel);
|
|
if ((int)qianghua.x == (int)qianghua.z)
|
|
{
|
|
int qianghuaLv = equipItem.StrengthLevel + 1;
|
|
var qianhuaTab = TableManager.GetEquipEnchanceRandRateByID(qianghuaLv, 0);
|
|
var itemCount = GameManager.gameManager.PlayerDataPool.BackPack.GetItemCountByDataId(qianhuaTab.ConsumeSubType);
|
|
if (qianhuaTab.PlayerLevel <= GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Level && itemCount >= qianhuaTab.ConsumeNum)
|
|
{
|
|
return QIANGHUA_TIP.QIANGHUA;
|
|
}
|
|
}
|
|
}
|
|
|
|
for (int i = 1; i < equipItem.StrengthLevel + 1; ++i)
|
|
{
|
|
var qianghua = equipItem.GetEquipStarRate(i);
|
|
if ((int)qianghua.x == (int)qianghua.z)
|
|
continue;
|
|
|
|
var buzhui = TableManager.GetEquipEnchanceRandRateByID(i, 0);
|
|
var buzhuiItemCnt = GameManager.gameManager.PlayerDataPool.BackPack.GetItemCountByDataId(buzhui.ConsumeSubType);
|
|
if (buzhuiItemCnt >= buzhui.ConsumeNum)
|
|
{
|
|
return QIANGHUA_TIP.BUZHUI;
|
|
}
|
|
}
|
|
|
|
return QIANGHUA_TIP.NONE;
|
|
}
|
|
|
|
public static GameItem GetQianghuaSelectItem()
|
|
{
|
|
var equipList = GameManager.gameManager.PlayerDataPool.EquipPack.GetList();
|
|
GameItem selectItem = null;
|
|
foreach (var equipItem in equipList)
|
|
{
|
|
var qianghuaTip = CanEquipQianhua(equipItem);
|
|
if (qianghuaTip == QIANGHUA_TIP.QIANGHUA)
|
|
{
|
|
selectItem = equipItem;
|
|
break;
|
|
}
|
|
else if (qianghuaTip == QIANGHUA_TIP.BUZHUI && selectItem == null)
|
|
{
|
|
selectItem = equipItem;
|
|
break;
|
|
}
|
|
}
|
|
_SelectedQianghuaItem = selectItem;
|
|
if(EquipEnhanceRoot.Instance())
|
|
EquipEnhanceRoot.Instance().UpdateQianghuaTips();
|
|
|
|
UpdateFucntionPanel();
|
|
|
|
return selectItem;
|
|
}
|
|
|
|
public static void ShowEquipQianhua()
|
|
{
|
|
if (_SelectedQianghuaItem != null)
|
|
{
|
|
ShowEnhanceRoot(_SelectedQianghuaItem, 1);
|
|
}
|
|
}
|
|
|
|
public void UpdateQianghuaTips()
|
|
{
|
|
if (_SelectedQianghuaItem == null)
|
|
{
|
|
_EquipEnhanceTip.SetActive(false);
|
|
}
|
|
else
|
|
{
|
|
_EquipEnhanceTip.SetActive(true);
|
|
}
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
#region
|
|
|
|
private static GameItem _SelectedXiangqianItem = null;
|
|
public GameObject _EquipXiangqianTip;
|
|
|
|
public static bool CanAnyEquipXiangqian()
|
|
{
|
|
// 功能开启等级判断
|
|
var tab = TableManager.GetFunctionOpenByID(18);
|
|
if (tab != null)
|
|
{
|
|
if (GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Level < tab.OpenLevel)
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
var selectItem = GetXiangqianSelectItem();
|
|
return selectItem != null;
|
|
}
|
|
|
|
public static bool CanEquipXiangqian(GameItem equipItem)
|
|
{
|
|
if (!equipItem.IsValid())
|
|
return false;
|
|
|
|
if (!equipItem.IsPlayerEquiped())
|
|
return false;
|
|
|
|
bool hasEmptyPos = false;
|
|
var playerLevel = ObjManager.Instance.MainPlayer.BaseAttr.Level;
|
|
var gemOpenTabs = TableManager.GetEquipPunchConsume();
|
|
for (int i = 0; i < equipItem.GemItems.Count; ++i)
|
|
{
|
|
var gemOpen = TableManager.GetEquipPunchConsumeByID(i);
|
|
if (gemOpen.OpenLevel <= playerLevel && !equipItem.GemItems[i].IsValid())
|
|
{
|
|
hasEmptyPos = true;
|
|
}
|
|
}
|
|
if (!hasEmptyPos)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
|
|
bool hasGemPos = false;
|
|
var itemList = ItemTool.ItemFilter(GameManager.gameManager.PlayerDataPool.BackPack, 3, 5, false);
|
|
for(int i = 0; i< itemList.Count; ++i)
|
|
{
|
|
List<int> gemTypes = EquipGemPutOnPanel.GetGemSlots(itemList[i].DataID);
|
|
if (!gemTypes.Contains(equipItem.GetSubClass()))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
int curDataId = itemList[i].DataID;
|
|
var gemProp = GemData.GetGemPropTab(itemList[i].DataID, 1, 0);
|
|
|
|
var sameItem = equipItem.GemItems.Find((equipedGem) =>
|
|
{
|
|
var gemPropTab = equipedGem.GetGemPropTab(0);
|
|
if (gemPropTab == null)
|
|
return false;
|
|
|
|
if (gemPropTab.PropID[0] == gemProp.PropID[0])
|
|
{
|
|
return true;
|
|
}
|
|
return false;
|
|
});
|
|
if (sameItem != null)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
hasGemPos = true;
|
|
break;
|
|
}
|
|
if (hasGemPos)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
|
|
|
|
return false;
|
|
}
|
|
|
|
//可以镶嵌替换
|
|
public static bool CanEquipXiangqianReplace(GameItem equipItem,GemData gemData)
|
|
{
|
|
if (!equipItem.IsValid())
|
|
return false;
|
|
|
|
if (!equipItem.IsPlayerEquiped())
|
|
return false;
|
|
|
|
bool hasEmptyPos = false;
|
|
var playerLevel = ObjManager.Instance.MainPlayer.BaseAttr.Level;
|
|
var gemOpenTabs = TableManager.GetEquipPunchConsume();
|
|
for (int i = 0; i < equipItem.GemItems.Count; ++i)
|
|
{
|
|
var gemOpen = TableManager.GetEquipPunchConsumeByID(i);
|
|
if (gemOpen.OpenLevel <= playerLevel && !equipItem.GemItems[i].IsValid())
|
|
{
|
|
hasEmptyPos = true;
|
|
}
|
|
}
|
|
|
|
|
|
bool hasGemPos = false;
|
|
var itemList = ItemTool.ItemFilter(GameManager.gameManager.PlayerDataPool.BackPack, 3, 5, false);
|
|
for (int i = 0; i < itemList.Count; ++i)
|
|
{
|
|
List<int> gemTypes = EquipGemPutOnPanel.GetGemSlots(itemList[i].DataID);
|
|
if (!gemTypes.Contains(equipItem.GetSubClass()))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
Tab_GemProp curGemData = TableManager.GetGemPropByID(gemData.DataID, 0);
|
|
Tab_GemProp nextGemData = TableManager.GetGemPropByID(itemList[i].DataID, 0);
|
|
if ((nextGemData.PropID[0] == curGemData.PropID[0]) && (nextGemData.CombatValue > curGemData.CombatValue))
|
|
{
|
|
hasGemPos = true;
|
|
break;
|
|
}
|
|
|
|
}
|
|
if (hasGemPos)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
public static GameItem GetXiangqianSelectItem()
|
|
{
|
|
var equipList = GameManager.gameManager.PlayerDataPool.EquipPack.GetList();
|
|
_SelectedXiangqianItem = null;
|
|
foreach (var equipItem in equipList)
|
|
{
|
|
if (!equipItem.IsValid())
|
|
continue;
|
|
|
|
if (CanEquipXiangqian(equipItem) || equipItem.IsCanAnyGemLvUp() || equipItem.IsCanAnyGemQualityLvUp())
|
|
{
|
|
_SelectedXiangqianItem = equipItem;
|
|
break;
|
|
}
|
|
}
|
|
if (EquipEnhanceRoot.Instance())
|
|
EquipEnhanceRoot.Instance().UpdateXiangqianTips();
|
|
|
|
UpdateFucntionPanel();
|
|
|
|
return _SelectedXiangqianItem;
|
|
}
|
|
|
|
public void UpdateXiangqianTips()
|
|
{
|
|
if (_SelectedXiangqianItem == null)
|
|
{
|
|
_EquipXiangqianTip.SetActive(false);
|
|
}
|
|
else
|
|
{
|
|
_EquipXiangqianTip.SetActive(true);
|
|
}
|
|
}
|
|
|
|
public GameObject _EquipHeChengTip;
|
|
private static bool HasAnyCanHeCheng = false;
|
|
|
|
public void UpdateHeChengTips()
|
|
{
|
|
_EquipHeChengTip.SetActive(HasAnyCanHeCheng);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 当合成界面不显示时的合成界面红点结果
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public static void HeChengRedTipsUpdate()
|
|
{
|
|
// 功能开启等级判断
|
|
var tab = TableManager.GetFunctionOpenByID(18);
|
|
if (tab != null)
|
|
{
|
|
if (GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Level < tab.OpenLevel)
|
|
{
|
|
return;
|
|
}
|
|
}
|
|
|
|
// 存储所有可合成的物体
|
|
var tabCombineItem = TableManager.GetItemCombine().Values;
|
|
foreach (var tabCombineTab in tabCombineItem)
|
|
{
|
|
if (tabCombineTab.ShowTips == 0)
|
|
continue;
|
|
|
|
var isCanCombine = true;
|
|
for (int j = 0; j < tabCombineTab.getNeedNumCount(); ++j)
|
|
{
|
|
if (tabCombineTab.GetSrcItemIDbyIndex(j) > 0)
|
|
{
|
|
var materialCnt = GameManager.gameManager.PlayerDataPool.BackPack.GetItemCountByDataId(tabCombineTab.GetSrcItemIDbyIndex(j));
|
|
if (materialCnt < tabCombineTab.GetNeedNumbyIndex(j))
|
|
{
|
|
isCanCombine = false;
|
|
}
|
|
}
|
|
}
|
|
|
|
if (isCanCombine)
|
|
{
|
|
HasAnyCanHeCheng = true;
|
|
if (Instance())
|
|
Instance().UpdateHeChengTips();
|
|
UpdateFucntionPanel();
|
|
return;
|
|
}
|
|
}
|
|
|
|
HasAnyCanHeCheng = false;
|
|
var instance = Instance();
|
|
if (instance)
|
|
instance.UpdateHeChengTips();
|
|
UpdateFucntionPanel();
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region combine
|
|
|
|
|
|
//private static GameItem _SelectedCombatItem = null;
|
|
//public GameObject _EquipCombatTip;
|
|
|
|
//public static bool CanAnyCombat()
|
|
//{
|
|
// var selectItem = GetCombatSelectItem();
|
|
// return selectItem != null;
|
|
//}
|
|
|
|
//public static bool CanItemCombat(Tab_ItemCombine combineItem)
|
|
//{
|
|
// for (int i = 0; i < combineItem.getNeedNumCount(); ++i)
|
|
// {
|
|
// if (combineItem.GetSrcItemIDbyIndex(i) > 0)
|
|
// {
|
|
// var materialCnt = GameManager.gameManager.PlayerDataPool.BackPack.GetItemCountByDataId(combineItem.GetSrcItemIDbyIndex(i));
|
|
// if (materialCnt < combineItem.GetNeedNumbyIndex(i))
|
|
// {
|
|
// return false;
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
// return true;
|
|
//}
|
|
|
|
//public static GameItem GetXiangqianSelectItem()
|
|
//{
|
|
// var equipList = GameManager.gameManager.PlayerDataPool.EquipPack.GetList();
|
|
// _SelectedXiangqianItem = null;
|
|
// foreach (var equipItem in equipList)
|
|
// {
|
|
// if (CanEquipXiangqian(equipItem))
|
|
// {
|
|
// _SelectedXiangqianItem = equipItem;
|
|
// break;
|
|
// }
|
|
// }
|
|
// if (EquipEnhanceRoot.Instance())
|
|
// EquipEnhanceRoot.Instance().UpdateXiangqianTips();
|
|
|
|
// UpdateFucntionPanel();
|
|
|
|
// return _SelectedXiangqianItem;
|
|
//}
|
|
|
|
//public void UpdateXiangqianTips()
|
|
//{
|
|
// if (_SelectedXiangqianItem == null)
|
|
// {
|
|
// _EquipXiangqianTip.SetActive(false);
|
|
// }
|
|
// else
|
|
// {
|
|
// _EquipXiangqianTip.SetActive(true);
|
|
// }
|
|
|
|
//}
|
|
|
|
|
|
#endregion
|
|
|
|
#region FrenzyRedTip
|
|
|
|
public GameObject frenzyRedTips;
|
|
public static void UpdateFrenzyRedTips()
|
|
{
|
|
EquipFrenzy.CheckAnyFrenzy();
|
|
|
|
if (EquipEnhanceRoot.Instance() != null)
|
|
{
|
|
EquipEnhanceRoot.Instance().frenzyRedTips.SetActive(EquipFrenzy.HasAnyFrenzy);
|
|
}
|
|
|
|
UpdateFucntionPanel();
|
|
}
|
|
|
|
public static bool CanEquipFrenzy(GameItem equipItem)
|
|
{
|
|
var fenzyTabs = TableManager.GetEquipFrenzy().Values;
|
|
foreach (var kv in fenzyTabs)
|
|
{
|
|
if ((int)equipItem.GetQuality() == kv.Quality
|
|
&& equipItem.GetMinLevelRequire() >= kv.EquipLevelMin
|
|
&& equipItem.GetMinLevelRequire() <= kv.EquipLevelMax)
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
public static bool CanEquipFrenzyMat(GameItem equipItem)
|
|
{
|
|
if (equipItem.IsFrenzy)
|
|
return false;
|
|
|
|
var fenzyTabs = TableManager.GetEquipFrenzy().Values;
|
|
foreach (var kv in fenzyTabs)
|
|
{
|
|
if ((int)equipItem.GetQuality() == kv.Quality
|
|
&& equipItem.GetMinLevelRequire() >= kv.EquipLevelMin
|
|
&& equipItem.GetMinLevelRequire() <= kv.EquipLevelMax)
|
|
{
|
|
if (GameManager.gameManager.PlayerDataPool.BackPack.GetItemCountByDataId(kv.FrenzyConsumeSubType) >= kv.FrenzyConsumeNum)
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
#endregion
|
|
}
|