120 lines
3.2 KiB
C#
120 lines
3.2 KiB
C#
|
||
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
|
||
|
||
|
||
}
|