캐릭터 저장 로직 적용

This commit is contained in:
aube.lee
2025-02-01 23:09:57 +09:00
parent 3e6ab55f6e
commit a6eeb34e90
3 changed files with 14 additions and 4 deletions

View File

@@ -8,11 +8,14 @@ namespace TON
public class CharaterCreateUI : UIBase public class CharaterCreateUI : UIBase
{ {
[SerializeField] private Button createButton; // Create 버튼 참조 [SerializeField] private Button createButton; // Create 버튼 참조
[SerializeField] private List<PlayerData> playerDatas;
private string selectedCharacter; // 선택한 캐릭터의 타입 저장 (예: "MaleCat", "FemaleCat") private string selectedCharacter; // 선택한 캐릭터의 타입 저장 (예: "MaleCat", "FemaleCat")
private void Start() private void Start()
{ {
playerDatas = PlayerDataManager.Singleton.players;
// 처음에는 버튼을 비활성화 // 처음에는 버튼을 비활성화
createButton.interactable = false; createButton.interactable = false;
} }
@@ -32,9 +35,14 @@ namespace TON
return; return;
} }
// 선택된 캐릭터 정보를 저장 (다음 씬에서도 사용할 수 있도록) // 선택된 캐릭터 인덱스 정보를 저장 (다음 씬에서도 사용할 수 있도록)
PlayerPrefs.SetString("SelectedCharacter", selectedCharacter); PlayerPrefs.SetInt("SelectedPlayerIndex", playerDatas.Count);
// TODO: 생성한 캐릭터를 어떻게 저장할지???
// TODO: 캐릭터 이름 받아서 생성하게끔 로직 변경 필요
// 생성한 캐릭터를 저장한다
PlayerData player = new PlayerData(playerDatas.Count, selectedCharacter, "name");
playerDatas.Add(player);
JSONLoader.SaveToFile(playerDatas, "player");
// 씬 변경 // 씬 변경

View File

@@ -57,6 +57,8 @@ namespace TON
public void OnClickPlayButton() public void OnClickPlayButton()
{ {
PlayerPrefs.SetInt("SelectedPlayerIndex", currentSelectCharacterIndex);
Debug.Log(currentSelectCharacterIndex); Debug.Log(currentSelectCharacterIndex);
} }

View File

@@ -16,7 +16,7 @@ namespace TON
// 플레이어가 가지고 있는 캐릭터들의 데이터 불러옴 // 플레이어가 가지고 있는 캐릭터들의 데이터 불러옴
List<PlayerData> players = PlayerDataManager.Singleton.players; List<PlayerData> players = PlayerDataManager.Singleton.players;
if (players == null) if (players.Count == 0)
{ {
// 현재 가지고 있는 캐릭터가 없다면 CharaterCreateUI 를 보여주고 // 현재 가지고 있는 캐릭터가 없다면 CharaterCreateUI 를 보여주고
UIManager.Show<CharaterCreateUI>(UIList.CharaterCreateUI); UIManager.Show<CharaterCreateUI>(UIList.CharaterCreateUI);