player 데이터 싱글톤 구조로 변경

This commit is contained in:
aube.lee
2025-02-01 21:41:59 +09:00
parent 1a870dde42
commit 0b201267bf
4 changed files with 43 additions and 6 deletions

View File

@@ -0,0 +1,28 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace TON
{
public class PlayerDataManager : SingletonBase<PlayerDataManager>
{
// 사용자가 생성해둔 플레이어 데이터를 싱글톤으로 전역 사용하기 위함
public List<PlayerData> players { get; private set; }
protected override void Awake()
{
base.Awake();
LoadPlayerData();
}
private void LoadPlayerData()
{
players = JSONLoader.LoadFromResources<List<PlayerData>>("Player");
if (players == null)
{
players = new List<PlayerData>();
Debug.LogError("⚠️ Player data loading failed. Check if 'Player.json' exists in Resources folder.");
}
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: f52606f26bff734428ec67cdb89e0330
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -23,6 +23,8 @@ namespace TON
private void Start() private void Start()
{ {
playerDatas = PlayerDataManager.Singleton.players;
// 캐릭터를 선택한 이후에 버튼 활성화 할 수 있도록 초기 비활성화 적용 // 캐릭터를 선택한 이후에 버튼 활성화 할 수 있도록 초기 비활성화 적용
playButton.interactable = false; playButton.interactable = false;
@@ -45,10 +47,6 @@ namespace TON
} }
public void SetPlayerDatas(List<PlayerData> datas)
{
playerDatas = datas;
}
public void SelectCharacter(int index) public void SelectCharacter(int index)
{ {

View File

@@ -13,7 +13,8 @@ namespace TON
// Main.Singleton?.ChangeScene(SceneType.Ingame); // Main.Singleton?.ChangeScene(SceneType.Ingame);
UIManager.Hide<TitleUI>(UIList.TitleUI); UIManager.Hide<TitleUI>(UIList.TitleUI);
List<PlayerData> players = JSONLoader.LoadFromResources<List<PlayerData>>("Player"); // 플레이어가 가지고 있는 캐릭터들의 데이터 불러옴
List<PlayerData> players = PlayerDataManager.Singleton.players;
if (players == null) if (players == null)
{ {
@@ -23,7 +24,6 @@ namespace TON
else else
{ {
// 캐릭터가 있다면 내 캐릭터 목록에서 선택할 수 있도록 함 // 캐릭터가 있다면 내 캐릭터 목록에서 선택할 수 있도록 함
charaterSelectUI.SetPlayerDatas(players);
UIManager.Show<CharaterSelectUI>(UIList.CharaterSelectUI); UIManager.Show<CharaterSelectUI>(UIList.CharaterSelectUI);
} }
} }