Files
JJBB/Assets/Project/Script/GUI/MeridiaSoul/BossBookInfoItem.cs

120 lines
3.2 KiB
C#
Raw Permalink Normal View History

2024-08-23 15:49:34 +08:00

using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using System.Collections.Generic;
using GCGame.Table;
using Games.Mission;
using Games.Events;
using Games.Item;
using GCGame;
using Games.GlobeDefine;
public class BossBookInfoItem : UIItemBase
{
public Text _Name;
public Image _Icon;
public Text _Attr;
public Slider _ExpProcess;
public Text _ExpText;
public GameObject _BtnGO;
public GameObject _RedDot;
#region
HandbookBossInfo _BossInfo;
Tab_BossHandBook _CurTab;
Tab_BossHandBook _NextTab;
public Tab_BossHandBook CurTab
{
get
{
return _CurTab;
}
}
public override void Show(Hashtable hash)
{
base.Show(hash);
var bossInfo = (HandbookBossInfo)hash["InitObj"];
ShowLevelItem(bossInfo);
}
public void ShowLevelItem(HandbookBossInfo bossInfo)
{
_BossInfo = bossInfo;
_CurTab = null;
_NextTab = null;
var bossTables = TableManager.GetBossHandBook();
foreach (var bossTab in bossTables)
{
if (bossTab.Value.BossId == bossInfo.BossId && bossTab.Value.Level == bossInfo.Level)
{
_CurTab = bossTab.Value;
}
if (bossTab.Value.BossId == bossInfo.BossId && bossTab.Value.Level == bossInfo.Level + 1)
{
_NextTab = bossTab.Value;
}
}
//0级时显示1级属性
if (_CurTab == null && _NextTab != null)
{
_Name.text = StrDictionary.GetClientDictionaryString("#{8113}", 0) + "-" + _NextTab.Name;
LoadAssetBundle.Instance.SetImageSprite(_Icon, _NextTab.Icon);
var attrName = PropID.GetAttrName((PropID.PropertyID)_NextTab.PropId[0], -1, _NextTab.PropVal[0]);
_Attr.text = attrName + "+" + _NextTab.PropVal[0];
UIGrayImage.SetImageGray(_Icon, true);
}
else
{
_Name.text = StrDictionary.GetClientDictionaryString("#{8113}", _CurTab.Level) + "-" + _CurTab.Name;
LoadAssetBundle.Instance.SetImageSprite(_Icon, _CurTab.Icon);
var attrName = PropID.GetAttrName((PropID.PropertyID)_CurTab.PropId[0], -1, _CurTab.PropVal[0]);
_Attr.text = attrName + "+" + _CurTab.PropVal[0];
UIGrayImage.SetImageGray(_Icon, false);
}
if (_NextTab != null)
{
int nowExp = bossInfo.Exp - (_NextTab.CostExpTotal - _NextTab.CostExp);
_ExpProcess.value = (float)nowExp / _NextTab.CostExp;
_ExpText.text = nowExp + "/" + _NextTab.CostExp;
if (nowExp >= _NextTab.CostExp)
{
_BtnGO.SetActive(true);
}
else
{
_BtnGO.SetActive(false);
}
}
else //满级
{
_ExpProcess.value = 1;
_BtnGO.SetActive(false);
_ExpText.text = StrDictionary.GetClientDictionaryString("#{49200}");
}
_RedDot.SetActive(BossBookPanel.IsBossBookCanLevelUp(bossInfo));
}
public void OnBtnLevelUp()
{
BossBookLvUpTips.ShowBossLvUpStatic(_BossInfo, _CurTab, _NextTab);
}
#endregion
}