Files
JJBB/Assets/Project/Script/GUI/WorldBoss/WorldBossItem.cs

74 lines
2.4 KiB
C#
Raw Normal View History

2024-08-23 15:49:34 +08:00
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using Games.Item;
using GCGame.Table;
using GCGame;
using Games.Fellow;
using Games.GlobeDefine;
public class WorldBossItem : UIItemSelect
{
public Text Name;
public Text Level;
public TimeDownText TimeDown;
public Image BackImage;
public GameObject SaveObj;
public GameObject DangerObj;
public GameObject KilledObj;
WorldBossData.BossInfo m_BossInfo = null;
public int BossID
{
get { return m_BossInfo == null ? -1 : m_BossInfo.m_BossTabId; }
}
public override void Show(Hashtable hash)
{
int boosId = (int)hash["InitObj"];
Tab_WorldBossConfig TabBoss = TableManager.GetWorldBossConfigByID(boosId, 0);
if(TabBoss==null)
{
return;
}
Tab_RoleBaseAttr RoleBase = TableManager.GetRoleBaseAttrByID(boosId, 0);
if (RoleBase == null)
return;
m_BossInfo = WorldBossData.Instance.GetBossInfo(boosId);
if (m_BossInfo == null)
return;
LoadAssetBundle.Instance.SetImageSprite(BackImage, TabBoss.Icon);
Name.text = RoleBase.Name;
if(GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Level < TabBoss.Level)
{
Level.text = string.Format("<color=#ff3131ff>Lv.{0}</color>", TabBoss.Level);
}
else
{
Level.text = string.Format("<color=#54ed48ff>Lv.{0}</color>", TabBoss.Level);
}
if (KilledObj != null)
KilledObj.SetActive(m_BossInfo != null && m_BossInfo.m_Killed);
bool IsSave = true;
Tab_Fuben fuben = TableManager.GetFubenByID(TabBoss.FubenID, 0);
if(fuben!=null)
{
Tab_SceneClass sceneClass = TableManager.GetSceneClassByID(fuben.GetSceneIdbyIndex(0), 0);
if(sceneClass!=null)
{
IsSave = (sceneClass.PVPRule == 0 ? true : false);
}
}
m_BossInfo.m_LeaveTime = (int)Time.realtimeSinceStartup + GlobalData.ActivityNextStartTimeOnSecond((int)ActivityDataManager.Activity_Type.ACTIVITY_TYPE_WORLD_BOSS);
DangerObj.SetActive(!IsSave);
SaveObj.SetActive(IsSave);
if (m_BossInfo.m_Killed)
TimeDown.Init("", m_BossInfo.m_LeaveTime, timeFormat: TimeDownText.TimeFormat.china);
else
TimeDown.Init("");
base.Show();
}
}