세션 검색, 시작, 제거, 참가, 생성을 제공하는 클래스입니다.
관련된 델리게이트들을 설정하고 관리합니다.
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam( FMultiplayerOnCreateSessionComplete, bool, bWasSuccessful);세션이 생성될 때 호출되는 델리게이트 입니다.
Paramter
- bWasSuccessful
세션의 생성 성공 여부입니다.
DECLARE_MULTICAST_DELEGATE_TwoParams ( FMultiplayerOnFindSessionsComplete, const TArray<FOnlineSessionSearchResult>& SessionResults, bool bWasSuccessful );세션 검색이 완료될 때 호출되는 커스텀 델리게이트입니다.
Paramter
- SessionResults
세션 검색 후 FOnlineSessionSearchResult 를 담고 있는 배열입니다.- bWasSuccessful
세션 검색의 성공 여부 입니다.
DECLARE_MULTICAST_DELEGATE_OneParam ( FMultiplayerOnJoinSessionComplete, EOnJoinSessionCompleteResult::Type Result );세션에 참가할 때 호출되는 커스텀 델리게이트입니다.
Paramter
- Result
EOnJoinSessionCompleteResult 열거형으로 세션의 참가 완료 결과 입니다.
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam ( FMultiplayerOnStartSessionComplete, bool, bWasSuccessful );세션이 시작될 때 호출되는 커스텀 델리게이트입니다.
Paramter
- bWasSuccessful
세션의 시작 성공 여부 입니다.
PUBLIC
FMultiplayerOnCreateSessionComplete MultiplayerOnCreateSessionComplete;세션 생성 성공시 실행할 델리게이트 변수입니다.
FMultiplayerOnFindSessionsComplete MultiplayerOnFindSessionsComplete;세션 검색을 완료한 후 실행할 델리게이트 변수입니다.
FMultiplayerOnJoinSessionComplete MultiplayerOnJoinSessionComplete;세션 참가시 실행할 델리게이트 변수입니다.
FMultiplayerOnDestroySessionComplete MultiplayerOnDestroySessionComplete;세션이 제거될 때 실행할 델리게이트 변수입니다.
FMultiplayerOnStartSessionComplete MultiplayerOnStartSessionComplete;세션이 시작할 시 실행할 델리게이트 변수입니다.
PRIVATE
IOnlineSessionPtr SessionInterface;IOnlineSessionPtr 형식 맴버 변수입니다.
TSharedPtr<FOnlineSessionSettings> LastSessionSettings;TSharedPtr< FOnlineSessionSettings > 형식으로 마지막 세션 설정을 저장할 변수입니다.
TSharedPtr<FOnlineSessionSearch> LastSessionSearch;TSharedPtr< FOnlineSessionSearch > 형식으로 마지막 세션 검색에 대해 저장할 변수입니다.
FOnCreateSessionCompleteDelegate CreateSessionCompleteDelegate;OnlineSessionDelegate.h 에 정의되어 있는 델리게이트로 세션 생성이 호출할 델리게이트 입니다.
FDelegateHandle CreateSessionCompleteDelegateHandle;FDelegateHandle 형태로 CreateSessionCompleteDelegate 를 관리할 델리게이트 핸들입니다.
FOnFindSessionsCompleteDelegate FindSessionsCompleteDelegate;OnlineSessionDelegate.h 에 정의되어 있는 델리게이트로 세션 검색시 호출할 델리게이트 입니다.
FDelegateHandle FindSessionsCompleteDelegateHandle;FDelegateHandle 형태로 FindSessionsCompleteDelegate 를 관리할 델리게이트 핸들입니다.
FOnJoinSessionCompleteDelegate JoinSessionCompleteDelegate;OnlineSessionInterface.h 에 정의되어 있는 델리게이트로 세션 참가시 호출할 델리게이트 입니다.
FDelegateHandle JoinSessionCompleteDelegateHandle;FDelegateHandle 형태로 JoinSessionCompleteDelegate 를 관리할 델리게이트 핸들입니다.
FOnDestroySessionCompleteDelegate DestroySessionCompleteDelegate;OnlineSessionDelegate.h 에 정의되어 있는 델리게이트로 세션 종료시 호출할 델리게이트 입니다.
FDelegateHandle DestroySessionCompleteDelegateHandle;FDelegateHandle 형태로 DestroySessionCompleteDelegate 를 관리할 델리게이트 핸들입니다.
FOnStartSessionCompleteDelegate StartSessionCompleteDelegate;OnlineSessionDelegate.h 에 정의되어 있는 델리게이트로 세션 시작시 호출할 델리게이트 입니다.
FDelegateHandle StartSessionCompleteDelegateHandle;FDelegateHandle 형태로 StartSessionCompleteDelegate 를 관리할 델리게이트 핸들입니다.
bool bCreateSessionOnDestroy{ false };
int32 LastNumPublicConnections;
FString LastMatchType;
UEMultiplayerSessionsSubsystem
- StartSession
세션을 시작합니다.- OnCreateSessionComplete
CreateSessionCompleteDelegate 에 바인딩할 함수입니다.
세션 인터페이스의 세션 생성시 호출한 델리게이트를 해제하고 MultiplayerOnCreateSessionComplete 에 성공 여부를 전달합니다.- OnFindSessionsComplete
FindSessionsCompleteDelegate 에 바인딩할 함수입니다.
세션 인터페이스의 세션 검색시 호출한 델리게이트를 해제하고 MultiplayerOnFindSessionsComplete 에 성공 여부를 전달합니다.- OnJoinSessionComplete
JoinSessionCompleteDelegate 에 바인딩할 함수입니다.
세션 인터페이스의 세션 참가시 호출한 델리게이트를 해제하고 MultiplayerOnJoinSessionComplete 에 성공 여부를 전달합니다.- OnDestroySessionComplete
DestroySessionCompleteDelegate 에 바인딩할 함수입니다.
세션 인터페이스의 세션 제거시 호출한 델리게이트를 해제하고 MultiplayerOnDestroySessionComplete 에 성공 여부를 전달합니다.
제거할 세션이 파괴하고 있는 세션이라면 다시 재생성하여 합니다.- OnStartSessionComplete
StartSessionCompleteDelegate 에 바인딩할 함수입니다.
세션 인터페이스의 세션 시작시 호출한 델리게이트를 해제하고 MultiplayerOnStartSessionComplete 에 성공 여부를 전달합니다.