using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.UI; namespace TON { public class CharaterSelectUI : UIBase { [SerializeField] private Button createButton; // Create 버튼 참조 [SerializeField] private Button playButton; // Play 버튼 참조 [SerializeField] private List playerDatas; private int currentSelectCharacterIndex; public List CharacterSlots = new List(); public SerializableDictionary CharacterSpriteDict = new SerializableDictionary(); private void Start() { playerDatas = PlayerDataManager.Singleton.players; // 캐릭터를 선택한 이후에 버튼 활성화 할 수 있도록 초기 비활성화 적용 playButton.interactable = false; if (playerDatas.Count >= 5) { // 캐릭터 슬롯을 모두 사용하고 있다면 버튼 비활성화 적용 createButton.interactable = false; } for (int i = 0; i < playerDatas.Count; i++) { CharacterSpriteDict.TryGetValue(playerDatas[i].type, out Sprite sprite); string name = playerDatas[i].name != null ? playerDatas[i].name : ""; if (sprite) { CharacterSlots[i].SetCharaterData(sprite, name, i); } } } public void SelectCharacter(int index) { Debug.Log("선택한 캐릭터 인덱스" + index); currentSelectCharacterIndex = index; playButton.interactable = true; } public void OnClickPlayButton() { PlayerPrefs.SetInt("SelectedPlayerIndex", currentSelectCharacterIndex); Debug.Log(currentSelectCharacterIndex); UIManager.Hide(UIList.CharaterSelectUI); Main.Singleton?.ChangeScene(SceneType.Lobby); } public void OnClickCreateButton() { UIManager.Show(UIList.CharaterCreateUI); UIManager.Hide(UIList.CharaterSelectUI); } } }