lcy
3 天以前 cc280ed687002504370a805d5195735dc7b58903
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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>();
    }
}