ReplayPuzzleGame/Assets/Scripts/Scene/SelectLevelButton.cs

38 lines
970 B
C#
Raw Normal View History

using UnityEngine;
2026-02-07 14:41:29 +00:00
using UnityEngine.EventSystems;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class SelectLevelButton : MonoBehaviour
{
private int level;
[SerializeField] private Text levelText;
[SerializeField] private Button _button;
[SerializeField] private Image lockImage;
2026-02-07 14:41:29 +00:00
private bool isUnlocked;
public void SetUp(int level)
{
this.level = level;
levelText.text = level.ToString();
_button.onClick.AddListener(OnClickLevelButton);
2026-02-07 14:41:29 +00:00
isUnlocked = GameManager.instance.clearLevelIndex >= level;
if (GameManager.instance.clearLevelIndex.Equals(level))
{
EventSystem.current.SetSelectedGameObject(_button.gameObject);
}
lockImage.gameObject.SetActive(!isUnlocked);
}
public void OnClickLevelButton()
{
2026-02-07 14:41:29 +00:00
if (!isUnlocked)
{
return;
}
GameManager.instance.OpenLevel(level);
}
}