| 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); | 
|     } | 
| } |