강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

지인수님의 프로필 이미지
지인수

작성한 질문수

책 3권을 영상으로 만든 Unity 게임 개발

유저 정보 나타내기

섹션5-11

해결된 질문

작성

·

36

1

유저데이터로드와 유저레지스터를 이렇게 수정했는데 상관없나요?

수업에 나온 그대로 코드를 입력했는데 유닛 123도 같이 비활성화되서요ㅠㅠ

일단은 123활성화 45비활성화는 되는데 코드가 너무 달라진 것 같아서 질문드립니다.

using UnityEngine;
using UnityEngine.UI;

public class UserDataLoad : MonoBehaviour
{
    [SerializeField] Text UserNickNameText;
    [SerializeField] Button[] CharBtns;

    int[] CharNum;

    void Start()
    {
        CharNum = new int[5];

        // 유닛 데이터 불러오기 (Unit1~Unit3 기본값 1, Unit4~Unit5 기본값 0)
        for (int i = 0; i < 5; i++)
        {
            CharNum[i] = PlayerPrefs.GetInt("Unit" + (i + 1), (i < 3 ? 1 : 0)); // Unit1~Unit3 기본값 1, Unit4~Unit5 기본값 0
        }

        // 버튼 활성화 상태 설정
        UpdateButtonStates();
    }

    void Update()
    {
        // 닉네임 업데이트
        UserNickNameText.text = PlayerPrefs.GetString("UserNickName");
    }

    void UpdateButtonStates()
    {
        for (int i = 0; i < 5; i++)
        {
            CharBtns[i].interactable = (CharNum[i] == 1);
        }
    }
}

 

using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;

public class UserRegister : MonoBehaviour
{
    [SerializeField] InputField NickNameInput;

    string NickName;

    public void OnClickRegister()
    {
        NickName = NickNameInput.text;

        // 사용자 정보 저장
        PlayerPrefs.SetString("UserNickName", NickName);
        PlayerPrefs.SetInt("Coin", 1000);
        PlayerPrefs.SetInt("Level", 1);
        PlayerPrefs.SetInt("WinCount", 0);

        // 유닛 활성화 상태 저장
        PlayerPrefs.SetInt("Unit1", 1);
        PlayerPrefs.SetInt("Unit2", 1);
        PlayerPrefs.SetInt("Unit3", 1);
        PlayerPrefs.SetInt("Unit4", 0);
        PlayerPrefs.SetInt("Unit5", 0);

        PlayerPrefs.Save();

        // 다음 씬으로 이동
        SceneManager.LoadScene("User Scene");
    }
}

답변 1

0

JEngineer님의 프로필 이미지
JEngineer
지식공유자

질문 감사드립니다!

 

주신 코드대로 수정하셔도 정상적으로 작동이 된다면 문제가 되는 부분이 아니며 코드 가독성 면에서 더 최척화된 코드로 보입니다!

 

그리고 해당 기능에 대한 코드는 검토를 한 후에 문제가 있을 시 수정하도록 하겠습니다! 감사합니다!

지인수님의 프로필 이미지
지인수

작성한 질문수

질문하기