using UnityEngine;
|
|
public class BoneFieldChallengeButton : MonoBehaviour
|
{
|
[SerializeField] ButtonEx btnChallenge;
|
[SerializeField] TextEx txtChallengeLv;
|
[SerializeField] TextEx txtChallengeYes;
|
[SerializeField] TextEx txtChallengeNo;
|
[SerializeField] ImageEx imgChallengeLVYes;
|
[SerializeField] ImageEx imgChallengeLVNo;
|
[SerializeField] ImageEx imgChallengeIcon;
|
[SerializeField] ImageEx imgChallengeRed;
|
bool isLvOk;
|
int lvLimitMin;
|
bool isHasNextLineID;
|
public void Awake()
|
{
|
btnChallenge.SetListener(OnClickChallenge);
|
}
|
public void Display(int lvLimitMin, bool isHasNextLineID, long bossFightPower)
|
{
|
this.isHasNextLineID = isHasNextLineID;
|
this.lvLimitMin = lvLimitMin;
|
isLvOk = PlayerDatas.Instance.baseData.LV >= lvLimitMin;
|
long myFightPower = PlayerDatas.Instance.baseData.FightPower;
|
imgChallengeRed.SetActive(isLvOk && isHasNextLineID && myFightPower > bossFightPower);
|
txtChallengeLv.SetActive(!isLvOk);
|
txtChallengeLv.text = Language.Get("BoneField07", lvLimitMin);
|
txtChallengeYes.SetActive(isLvOk && isHasNextLineID);
|
txtChallengeNo.SetActive(!isLvOk || !isHasNextLineID);
|
imgChallengeLVYes.SetActive(isLvOk && isHasNextLineID);
|
imgChallengeLVNo.SetActive(!isLvOk || !isHasNextLineID);
|
imgChallengeIcon.SetActive(isLvOk && isHasNextLineID);
|
}
|
private void OnClickChallenge()
|
{
|
if (!isLvOk)
|
{
|
// %s0级可挑战
|
SysNotifyMgr.Instance.ShowTip("BoneField01", lvLimitMin);
|
return;
|
}
|
if (!isHasNextLineID)
|
{
|
// 已到达最高层
|
SysNotifyMgr.Instance.ShowTip("BoneField02", lvLimitMin);
|
return;
|
}
|
if (!DungeonManager.Instance.TryGetFBInfoByMapID(BoneFieldManager.Instance.DataMapID, out var fbInfo))
|
return;
|
int nowPassLineID = BoneFieldManager.Instance.GetNowPassLineID(fbInfo);
|
BoneFieldManager.Instance.SendTurnFight(BoneFieldManager.Instance.DataMapID, nowPassLineID);
|
UIManager.Instance.CloseWindow<BoneFieldWin>();
|
}
|
}
|