inflearn logo
강의

Course

Instructor

Unity game development turning 3 books into videos

Display user information

섹션5-11

Resolved

64

legojjang7363

1 asked

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");
    }
}

C# unity

Answer 1

0

JEngineer

질문 감사드립니다!

 

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

 

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

코드 관련 질문

0

21

2

섹션7 수업자료 업로드 부탁드립니다.

0

21

2

Dictionary Key를 int에서 string으로 변경한 이유에 대한 문의

0

18

1

프로젝트 질문 문의

0

45

1

UI 기능 관련 질문이 있습니다!

0

37

2

03-01 (16. CharacterController)

0

31

2

TLS 질문드립니다.

0

43

2

Task 구현 28:36 Equals 에서 잘 모르는 부분이 있습니다.

0

27

2

SpinLock과 컨텍스트스위칭에 대해 질문 남겨요.

0

46

2

픽셀 좌표 스크린 좌표

0

33

0

Locomotion랑 Turn 이 꼭 부모 자식 관계일 필요가 있나요?

0

25

1

Rider대신 VS를 써도 괜찮나요?

0

116

2

Claude Code Pro구독하고 있는 상태에서 크레딧 결제, 사용문의

0

217

2

LobbyUIController의 백키가 사라졌는데 왜그런건가요?

0

41

2

무조건 타이틀 씬부터 시작해야하나요?

0

41

1

BaseUI, UIManager

0

51

3

SuperDefender 구매오류

0

71

2

승리수가 안 올라갑니다

1

75

2

Knight구매시 오류

1

169

2

OnTriggerEnter2D에서 문제가 생겼어요

1

226

2

에너미 이동 질문

1

124

2

유닛 리지드바디 질문

1

118

2

애니메이션 질문

1

106

1

닉네임 텍스트에 이름 기입은

1

131

1