Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 프린세스메이커
- node
- 미니프로젝트
- 데이터베이스
- 알고풀자
- 디자드
- JWT
- Jinja2
- VUE
- R
- 정글사관학교
- Enhanced Input System
- flask
- 파이썬서버
- 카렌
- EnhancedInput
- 언리얼뮤지컬
- 레베카
- Ajax
- Bootstrap4
- Express
- 마인크래프트뮤지컬
- 스마일게이트
- 프메
- 스터디
- Unseen
- 언리얼
- 으
- 언리얼프로그래머
- 게임개발
Archives
- Today
- Total
Showing
[Unreal Project] 싱글톤 패턴을 이용한 네트워크 플레이어 프로그래밍 본문
세션 생성, 참가, 탐색
디폴트 맵에 들어갈 LobbyMap에 설정해줄 LoginGameModeBase에서 Login UI를 켜줄 것이고 이 UI는 네트워크 게임인스턴스를 가지고 있어 각종 네트워크 호출을 시도할 것이다.
로그인 게임모드가 로그인 UI를 들고 있고,
이 위젯은 네트워크 게임 인스턴스 주소를 가지고 있다.(바로 뒤에 언급할 슬롯위젯도 가지고 있다)
로그인 위젯의 NativeConstruct 함수아래 버튼 이벤트 바인딩 뿐만 아니라
네트워크 게임 인스턴스 델리게이트에 함수를 바인딩해주어서
버튼 클릭에 따른 create
void ULoginWidget::OnClickedCreateButton()
{
if (gi != nullptr) {
gi->CreateSession(eText_roomName->GetText().ToString(), eText_hostName->GetText().ToString(), (int32)sl_maxPlayers->GetValue());
}
}
void ULoginWidget::OnClickedMoveToFind() // 0번에서 2번으로 바뀌는거
{
ws_widgetSwicher->SetActiveWidgetIndex(2);
if (gi != nullptr) {
gi->FindSession();
}
}
void ULoginWidget::OnClickedFindSessionsButton()
{
//btn_findSessions->SetIsEnabled(false);
if (gi != nullptr) {
gi->FindSession();
// 기존 슬록 위젯을 모두 지운다
sb_roomList->ClearChildren();
}
}
참고로 join은 세션 위젯에서 해주고 있고 따라서 세션 위젯도 gi를 가지고 있다.
기존 네트워크게임 인스턴스를 통해 세션 create, find, join등을 수행하고 있던 상황까지 개발이 진행되었고
추가적으로 게임 공통 타이머에 대한 구현이 필요한 상태이다.
게임에 사용될 공통 데이터가 여러 객체에서 불리워진다면 각 개체 속성 간의 동기화 문제가 생긴다. 따라서 게임 내에서 단 하나의 개체임이 보장되어야 하므로 언리얼 싱글톤 클래스를 사용하여 엔진 초기화때부터 게임 종료까지 살아남는 공통 데이터를 관리할 수 있다.
- 언리얼 엔진에서 제공하는 싱글톤 클래스
(1)게임 인스턴스
(2)애셋 매니저
(3)게임 플레이 관련 액터(GameMode, GameState, …)
'Unreal' 카테고리의 다른 글
[언리얼 Metarial] fresnel reflectioin 이용하여 반투명 재질 만들기 (1) | 2024.01.25 |
---|---|
[언리얼 그래픽스] Wet Ground, 노멀맵 믹싱 (0) | 2024.01.24 |
[Unreal Git] GitHub Desktop 이용한 언리얼 fork 형상관리 (팀프로젝트 ver) (0) | 2024.01.13 |
[Unreal] 캐릭터 이동시 view 회전값 조정 (3) | 2024.01.04 |
[Unreal VR] 언리얼 C++ VR 세팅 (2) | 2024.01.02 |