Files
JJBB/Assets/Project/Script/GUI/WorldBoss/WorldCopyInfo.cs
2024-08-23 15:49:34 +08:00

231 lines
7.1 KiB
C#

using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using System.Collections.Generic;
using GCGame.Table;
public class WorldCopyInfo : MonoBehaviour {
public Text[] Names;
public Text[] Hurts;
public Text MyHurt;
public GameObject AwardItemObj;
public GameObject AwardTip;
public void Init(SynWorldBossRankInfo boss)
{
if (boss == null)
return;
for(int i=0;i<Names.Length;i++)
{
Names[i].gameObject.SetActive(false);
}
for (int i = 0; i < Hurts.Length; i++)
{
Hurts[i].gameObject.SetActive(false);
}
string selfRank = "";
if(boss.selfRank > 0)
{
selfRank = " (" + StrDictionary.GetClientDictionaryString("#{2494}",boss.selfRank) + ")";
}
MyHurt.text = boss.selfScore.ToString() + selfRank;
for (int i=0;i<boss.rankInfo.Count;i++)
{
if(Names.Length>i)
{
Names[i].gameObject.SetActive(true);
Names[i].text = boss.rankInfo[i].name;
}
if (Hurts.Length > i)
{
Hurts[i].gameObject.SetActive(true);
Hurts[i].text = boss.rankInfo[i].AddScore.ToString();
}
}
}
void OnEnable()
{
//if (MissionDialogAndLeftTabsLogic.Instance() != null)
// MissionDialogAndLeftTabsLogic.Instance().HideMissionDialog(false);
//MissionDialogAndLeftTabsLogic.SetSwitch(UIInfo.WorldCopyInfo);
Tab_Fuben fuben = TableManager.GetFubenByID(GameManager.gameManager.PlayerDataPool.EnterSceneCache.EnterCopySceneID, 0);
if (fuben == null)
{
UIManager.CloseUI(UIInfo.WorldCopyInfo);
return;
}
ShowAwardItem(fuben);
OnBtnShow();
}
List<GameObject> Items = new List<GameObject>();
void ShowAwardItem(Tab_Fuben fuben)
{
for (int i = 0; i < Items.Count; i++)
Items[i].SetActive(false);
bool hasAward = false;
for (int i = 0; i < fuben.getAwardItemIDCount(); i++)
{
int awardID = fuben.GetAwardItemIDbyIndex(i);
int awardCount = fuben.GetAwardItemCountbyIndex(i);
if (awardID == -1)
continue;
Tab_CommonItem commonItem = TableManager.GetCommonItemByID(awardID, 0);
if (commonItem == null)
continue;
GameObject newObj = null;
if (Items.Count > i && Items[i] != null)
newObj = Items[i];
else
{
newObj = GameObject.Instantiate(AwardItemObj);
Items.Add(newObj);
}
if (newObj == null)
continue;
newObj.SetActive(true);
newObj.transform.SetParent(AwardItemObj.transform.parent);
newObj.transform.localPosition = Vector3.zero;
newObj.transform.localScale = Vector3.one;
hasAward = true;
Text numText = newObj.GetComponentInChildren<Text>();
Transform count = newObj.transform.Find("Count");
if (awardCount <= 1)
{
if (count != null)
count.gameObject.SetActive(false);
}
else
{
if (numText != null)
numText.text = awardCount.ToString();
}
Button btn = newObj.GetComponent<Button>();
if (btn != null)
{
btn.onClick.AddListener(delegate ()
{
ItemTooltipsLogic.ShowItemTooltip(awardID, ItemTooltipsLogic.ShowType.Info, newObj.transform.position);
});
}
Transform Quility = newObj.transform.Find("Quility");
if (Quility != null)
{
Image QuilityImage = Quility.GetComponent<Image>();
if (QuilityImage != null)
{
LoadAssetBundle.Instance.SetImageSprite(QuilityImage, GCGame.Utils.GetItemQualityFrame(commonItem));
}
}
Transform Icon = newObj.transform.Find("Icon");
if (Icon != null)
{
Image IconImage = Icon.GetComponent<Image>();
if (IconImage != null)
{
LoadAssetBundle.Instance.SetImageSprite(IconImage, commonItem.Icon);
if (commonItem.QualityEffect > 0)
{
CommonItemContainerItem.ShowQualityEffect(true, commonItem.QualityEffect, IconImage.transform);
}
else
{
CommonItemContainerItem.ShowQualityEffect(false, commonItem.QualityEffect, IconImage.transform);
}
}
}
}
AwardTip.SetActive(hasAward);
}
public void Click_LeaveCopy()
{
if (Singleton<ObjManager>.Instance.MainPlayer != null)
{
Singleton<ObjManager>.Instance.MainPlayer.AskLeaveCopy();
}
}
public void OpenMissionLeftTab()
{
if(MissionDialogAndLeftTabsLogic.Instance()==null)
{
UIManager.ShowUI(UIInfo.MissionInfoController,delegate(bool bSuccess, object param)
{
if (bSuccess == false)
return;
MissionDialogAndLeftTabsLogic.SetSwitch(UIInfo.WorldCopyInfo);
MissionDialogAndLeftTabsLogic.Instance().SetSwitchBtn();
UIManager.CloseUI(UIInfo.WorldCopyInfo);
});
}
else
{
MissionDialogAndLeftTabsLogic.Instance().HideMissionDialog(true);
MissionDialogAndLeftTabsLogic.SetSwitch(UIInfo.WorldCopyInfo);
MissionDialogAndLeftTabsLogic.Instance().SetSwitchBtn();
UIManager.CloseUI(UIInfo.WorldCopyInfo);
}
}
public ObjectTween _MoveTo;
public RectTransform _TitleBGRec;
public GameObject _ShowBtn;
public GameObject _HideBtn;
public GameObject _InfoPanel;
private bool isShow = false;
public void OnBtnShow()
{
ShowPanel();
_ShowBtn.SetActive(false);
_HideBtn.SetActive(true);
isShow = true;
}
public void OnBtnHide()
{
HidePanel();
_ShowBtn.SetActive(true);
_HideBtn.SetActive(false);
isShow = false;
}
public void OnTitleBtn()
{
if (isShow)
{
OnBtnHide();
}
else
{
OnBtnShow();
}
}
public void ShowPanel()
{
_MoveTo.Reset();
_MoveTo.destantPos = new Vector3(0, 0, 0);
GCGame.Utils.HideMainTopRightUI();
_TitleBGRec.sizeDelta = new Vector2(300, _TitleBGRec.sizeDelta.y);
_InfoPanel.gameObject.SetActive(true);
}
public void HidePanel()
{
_MoveTo.Reset();
_MoveTo.destantPos = new Vector3(0, -192, 0);
GCGame.Utils.ShowMainTopRightUI();
_TitleBGRec.sizeDelta = new Vector2(230, _TitleBGRec.sizeDelta.y);
_InfoPanel.gameObject.SetActive(false);
}
}