Difficulty UI를 생성한 뒤, 버튼들을 만들어 간단하게 UI를 구성했다.
난이도 별로 Easy = (4 * 2), Normal = (4 * 4), Hard = (4 * 8)로 카드가 구성된다.
처음에는 GameManager를 이용하여 난이도를 설정하려 했다.
StartScene에서 GameManager를 생성한 뒤 **DontDestroyOnLoad
**를 한다면 MainScene에서 GameManager의 연결된 오브젝트들이 풀려버리기 때문에 이 방법을 사용할 수 없었다.
그래서 생각한 방법이 DifficultyManager를 싱글톤으로 생성하고 해당 함수에 난이도 정보를 저장한 뒤 **DontDestroyOnLoad
**를 하는 방법이었다.
이 방법을 사용하여 기능을 개발하였고 난이도는 enum를 이용하여 가독성을 향상시켰다.
Difficulty Manager 스크립트
using UnityEngine;
public enum Difficulty {Default, Easy, Normal, Hard}
public class DifficultyManager : MonoBehaviour
{
public static DifficultyManager instance;
// 게임의 난이도
public Difficulty difficulty;
private void Awake()
{
if (instance == null)
{
instance = this;
DontDestroyOnLoad(gameObject); // 씬을 이동해도 AudioManager가 파괴되지않음
}
else
{
Destroy(gameObject);
}
}
}