ReplayPuzzleGame/Assets/Resources/Scripts/Scene/SelectLevelButton.cs

38 lines
987 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
{
2026-02-10 08:18:34 +00:00
private LevelData levelData;
[SerializeField] private Text levelText;
[SerializeField] private Button _button;
[SerializeField] private Image lockImage;
2026-02-07 14:41:29 +00:00
private bool isUnlocked;
2026-02-10 08:18:34 +00:00
public void SetUp(LevelData levelData)
{
2026-02-10 08:18:34 +00:00
this.levelData = levelData;
levelText.text = levelData.levelID.ToString();
_button.onClick.AddListener(OnClickLevelButton);
2026-02-10 08:18:34 +00:00
isUnlocked = GameManager.instance.maxClearLevelID >= levelData.levelID;
if (isUnlocked)
2026-02-07 14:41:29 +00:00
{
EventSystem.current.SetSelectedGameObject(_button.gameObject);
}
lockImage.gameObject.SetActive(!isUnlocked);
}
public void OnClickLevelButton()
{
2026-02-07 14:41:29 +00:00
if (!isUnlocked)
{
return;
}
2026-02-10 08:18:34 +00:00
GameManager.instance.EnterLevel(levelData);
}
}