/
VladimirGavrilov
/
TestProjectMultiplayer
Обзор
Документация
Войти
/
VladimirGavrilov
/
TestProjectMultiplayer
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Source/TestProject/Private/Core/MyPlayerState.cpp
42 строки
1 KB
VladimirGavrilov
3 players now start a match. Minor refactoring
08 апр 2025, 13:33
08 апр 2025, 13:33
72006b7
Код
Авторство
О чём код?
// Fill out your copyright notice in the Description page of Project Settings. #include "Core/MyPlayerState.h" #include <Net/UnrealNetwork.h> void AMyPlayerState::GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const { Super::GetLifetimeReplicatedProps(OutLifetimeProps); DOREPLIFETIME(AMyPlayerState, CurrentPlayerName); DOREPLIFETIME(AMyPlayerState, Color); } void AMyPlayerState::OnRep_CurrentPlayerName() { UE_LOG(LogTemp, Log, TEXT("Player name updated: %s"), *CurrentPlayerName); HandlePlayerNameChanged(); } void AMyPlayerState::OnRep_PlayerColor() { UE_LOG(LogTemp, Log, TEXT("Player color updated: %s"), *Color); HandlePlayerColorChanged(ParseColorIntoVector()); } FVector AMyPlayerState::ParseColorIntoVector() { TArray<FString> Parsed; Color.ParseIntoArray(Parsed, TEXT(","), true); if (Parsed.Num() == 3) { float R = FCString::Atof(*Parsed[0]); float G = FCString::Atof(*Parsed[1]); float B = FCString::Atof(*Parsed[2]); FVector ColorVector(R, G, B); return ColorVector; } return FVector{ 1.0,1.0,1.0 }; }