

UI 프리팹



using UnityEngine;
using TMPro;
public class StageUI : MonoBehaviour
{
public TextMeshProUGUI textMesh;
public GameObject[] star;
}
스테이지별 점수

public class StageInfo
{
public int stage;
public int score;
}
리소스 관리 매니저 스크립트
using System.Collections.Generic;
using UnityEngine;
using Newtonsoft.Json;
using System.Linq;
public class StageManager
{
private static StageManager instance;
private StageManager() { }
public static StageManager Instance
{
get
{
if (instance == null)
instance = new StageManager();
return instance;
}
}
Dictionary<int, StageInfo> dicStages = new Dictionary<int, StageInfo>();
GameObject stageUI;
public void LoadStageInfo()
{
TextAsset scoreInfo = Resources.Load<TextAsset>("Data/score_info");
dicStages = JsonConvert.DeserializeObject<StageInfo[]>(scoreInfo.text).ToDictionary(x => x.stage);
stageUI = Resources.Load<GameObject>("Prefabs/stage");
}
public Dictionary<int, StageInfo> PassStagesInfo()
{
return dicStages;
}
public GameObject PassStageUI()
{
return stageUI;
}
}


using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ButtonManager : MonoBehaviour
{
public Transform canvas;
public Button stageLoadBtn;
void Start()
{
stageLoadBtn.onClick.AddListener(() =>
{
StageManager.Instance.LoadStageInfo();
Dictionary<int, StageInfo> dicStages = StageManager.Instance.PassStagesInfo();
GameObject stageUIPrefab = StageManager.Instance.PassStageUI();
for (int i = 0; i < dicStages.Count; i++)
{
GameObject stageObj = Instantiate(stageUIPrefab);
stageObj.name = string.Format("stage {0}", i + 1);
stageObj.transform.parent = canvas;
RectTransform rect = stageObj.GetComponent<RectTransform>();
rect.anchoredPosition = new Vector3((i * 384) - 780, 0, 0);
StageUI stageUI = stageObj.GetComponent<StageUI>();
stageUI.textMesh.text = string.Format("stage {0}", i + 1);
for (int j = 0; j < 3; j++)
{
if (dicStages[i + 1].score > (j + 1) * 1000)
{
stageUI.star[j].SetActive(true);
}
}
}
});
}
}'Unity > 수업 내용' 카테고리의 다른 글
| [Unity 2020.3] 11-03 출석체크 UGUI (0) | 2021.11.03 |
|---|---|
| [Unity 2020.3] 11-01 메인 -> 상점 UGUI (0) | 2021.11.01 |
| [Unity 2020.3] UGUI Slider, (0) | 2021.10.27 |
| [Unity 2020.3] JSON .NET For Unity, json 불러와서 사용하기 (0) | 2021.10.26 |
| [Unity 2020.3] Singleton (0) | 2021.10.26 |