38 lines
987 B
C#
38 lines
987 B
C#
using UnityEngine;
|
|
using UnityEngine.EventSystems;
|
|
using UnityEngine.SceneManagement;
|
|
using UnityEngine.UI;
|
|
|
|
public class SelectLevelButton : MonoBehaviour
|
|
{
|
|
private LevelData levelData;
|
|
|
|
[SerializeField] private Text levelText;
|
|
[SerializeField] private Button _button;
|
|
[SerializeField] private Image lockImage;
|
|
|
|
private bool isUnlocked;
|
|
|
|
public void SetUp(LevelData levelData)
|
|
{
|
|
this.levelData = levelData;
|
|
levelText.text = levelData.levelID.ToString();
|
|
_button.onClick.AddListener(OnClickLevelButton);
|
|
isUnlocked = GameManager.instance.maxClearLevelID >= levelData.levelID;
|
|
if (isUnlocked)
|
|
{
|
|
EventSystem.current.SetSelectedGameObject(_button.gameObject);
|
|
}
|
|
lockImage.gameObject.SetActive(!isUnlocked);
|
|
}
|
|
|
|
public void OnClickLevelButton()
|
|
{
|
|
if (!isUnlocked)
|
|
{
|
|
return;
|
|
}
|
|
GameManager.instance.EnterLevel(levelData);
|
|
}
|
|
}
|