/
linkfly
/
MasterKnight
Обзор
Документация
Войти
/
linkfly
/
MasterKnight
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop
Source/Multiplayer/Private/MultiplayerUtils.cpp
48 строк
1 KB
Сергей Катревич
fixed notes for hw-30 (3,4)
27 апр 2026, 20:09
27 апр 2026, 20:09
a08275c
Код
Авторство
О чём код?
// Fill out your copyright notice in the Description page of Project Settings. #include "MultiplayerUtils.h" #include "MKMultiplayerOnlineSubsystem.h" #include "MKMultiplayerSubsystem.h" DEFINE_LOG_CATEGORY_STATIC(LogMultiplayerUtils, Log, All); bool UMultiplayerUtils::CreateOnlineSession(const UObject* WorldContextObject, APlayerController* PlayerController) { auto MultiOnlineSys = UMKMultiplayerOnlineSubsystem::Get(WorldContextObject); return MultiOnlineSys->CreateOnlineSession(PlayerController); } bool UMultiplayerUtils::ChangeMap(UWorld* World, const FString& MapPath, const FString& PostfixForListen, APlayerController* PlayerController) { if (!IsValid(World)) return false; if (MapPath.IsEmpty()) return false; FString PathToMapWithListen = MapPath + PostfixForListen; if (!World->ServerTravel(PathToMapWithListen)) { UE_LOGFMT(LogMultiplayerUtils, Error, "[{0}] Failed ServerTravel!", __FUNCTION__); return false; } if (IsValid(PlayerController)) { auto MultiplayerSys = UMKMultiplayerSubsystem::Get(World); if (IsValid(MultiplayerSys)) { MultiplayerSys->NotifySessionStarted(PlayerController); } else { UE_LOGFMT(LogMultiplayerUtils, Error, "[{0}] MultiplayerSys is invalid, notify NotifySessionStarted will not be fired", __FUNCTION__); } } return true; } FString UMultiplayerUtils::NetIdToString(const FUniqueNetIdRepl& NetId) { return UMKMultiplayerSubsystem::GetNetIdString(NetId); }