yyl
2025-09-04 f85d3a9e42c389244227bbb7c2697174aa277ab8
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
using UnityEngine;
using UnityEngine.UI;
using System.Collections.Generic;
 
 
//主线关卡的 波次显示
public class MainLevelWaveCell : MonoBehaviour
{
 
    [SerializeField] GameObject passLevelBG;    //已通关和正在通关的
    [SerializeField] Image passMark;    //已通关的标记
    [SerializeField] GameObject nowLevelMark;    //当前关卡
    [SerializeField] Image levelMark;   //关卡的标记 类似精英关,随机关的标识;休息时和未通关显示
 
 
 
 
    //index从0开始
    public void Display(int index)
    {
        var theWave = index + 1;
        //ExAttr2   用于记录主线当前刷怪所在章节关卡记录,记录值 = 章节*10000+关卡编号*100+第x波  ; 0418刷新类型103
        var value = PlayerDatas.Instance.baseData.ExAttr2;
        var waveID = value % 100;
 
        passLevelBG.SetActive(theWave <= waveID);
        levelMark.SetActive(theWave >= waveID);
        passMark.SetActive(theWave < waveID);
 
        if (theWave == waveID)
        { 
 
            if (BattleManager.Instance.storyBattleField != null &&
                BattleManager.Instance.storyBattleField.GetBattleMode() == BattleMode.Stop)
            {
                levelMark.SetActive(true);
                nowLevelMark.SetActive(false);
            }
            else
            {
                nowLevelMark.SetActive(true);
                levelMark.SetActive(false);
            }
        }
        else
        {
            nowLevelMark.SetActive(false);
        }
 
        levelMark.SetSprite("MainBossMark" + (index % 2));
        levelMark.SetNativeSize();
    }
 
}