231 lines
7.1 KiB
C#
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);
|
|||
|
}
|
|||
|
}
|