- 개요
클라이언트에서 로그인을 수행하기 위한 로그인 UI를 생성하고 동작을 확인해보도록 하겠습니다.
1) WebPacket 클래스

기존에 WebPacket 클래스에 포함되어 있던 계정 생성 요청과 로그인 요청을 수행하는 함수를 제거하였습니다.
대신, 해당 함수의 동작을 로그인 UI에서 수행하도록 구성을 변경하였습니다.
2) Managers 클래스

Managers 클래스의 Init 함수에서 NetworkManager를 초기화하는 로직을 제거하였습니다.
대신, 로그인을 수행한 이후에 네트워크 관련 작업을 처리하도록 구성을 변경하였습니다.
3) NetworkManager 클래스

Init 함수의 이름을 ConnectToGame 함수로 변경하여 함수의 사용목적을 직관적으로 표현합니다.
4) UI_LoginScene 클래스

로그인 UI를 의미하는 UI_LoginScene 클래스를 새롭게 추가하였습니다.

UI를 구성하는 오브젝트들을 코드에서 사용하기 위한 열거형을 2개 추가하였습니다.
- GameObjects 열거형
- AccountName : 계정 이름 입력폼
- Password : 계정 비밀번호 입력폼
- Images 열거형
- CreateBtn : 계정 생성 버튼
- LoginBtn : 로그인 버튼

Init 함수의 로직은 위와 같습니다.
GameObjects 열거형과 Images 열거형의 멤버들을 실제 오브젝트의 타입에 맞게 바인딩합니다.
이후 Images 열거형의 오브젝트의 콜백함수들을 바인딩합니다.

OnClickCreateButton 함수의 로직은 위와 같습니다.
입력폼에 입력한 값을 기반으로 새로운 계정 생성 요청 패킷을 생성 + 전송합니다.
이후 서버로부터 전달된 계정 생성 응답 패킷에 따라 로그를 찍습니다.

OnClickLoginButton 함수의 로직은 위와 같습니다.
입력폼에 입력한 값을 기반으로 새로운 로그인 요청 패킷을 생성 + 전송합니다.
이후 서버로부터 전달된 로그인 응답 패킷에 따라 허용되었다면 Game에 접속하고 GameScene을 로드합니다.
5) LoginScene 클래스

로그인을 수행하는 GameScene 클래스인 LoginScene 클래스를 생성합니다.

LoginScene에 포함된 UI인 UI_LoginScene을 멤버변수로 갖고 있고,
Init 함수에서는 로그인을 위한 AccountServer에 연결하고 해당 멤버변수를 설정하고 화면에 띄웁니다.
6) GameScene 클래스

Init 함수에서 AccountServer 연결을 시험하기 위한 임시 코드를 제거하였습니다.
- 최종 실행 결과
동영상 서비스가 종료되어 해당 콘텐츠를 재생할 수 없습니다.
'대형 프로젝트 - C# + 유니티로 만드는 MMORPG 게임 개발 > (6) 라이브서비스' 카테고리의 다른 글
| 2D MMO 라이브 서비스 - (4 - 최종) 서버 선택 UI (0) | 2025.10.31 |
|---|---|
| 2D MMO 라이브 서비스 - (4 - 5) Shared DB (0) | 2025.10.28 |
| 2D MMO 라이브 서비스 - (4 - 3) AccountServer (2) (0) | 2025.10.21 |
| 2D MMO 라이브 서비스 - (4 - 2) AccountServer (1) (0) | 2025.10.20 |
| 2D MMO 라이브 서비스 - (4 - 1) 서버 구조 (0) | 2025.10.20 |