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

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);
}
}