void ANetworkController::ReceivedSelectCamera(msgpack_object* Data) { FString name = Unpack<FString>(Data); APlayerController* PlayerController = NULL; for (auto Iterator = GetWorld()->GetPlayerControllerIterator(); Iterator; ++Iterator) { PlayerController = *Iterator; break; } if (!PlayerController) { return; } //PlayerController->PlayerCameraManager->PlayCameraAnim() for (TActorIterator<ACameraActor> ObjIt(GetWorld()); ObjIt; ++ObjIt) { ACameraActor* Camera = *ObjIt; //GEngine->AddOnScreenDebugMessage(-1, 60.f, FColor::Yellow, Camera->GetName()); if (Camera->GetName() == name) { PlayerController->SetViewTarget(Camera); AFollowRoadCamera* FollowRoadCamera = Cast<AFollowRoadCamera>(Camera); if (FollowRoadCamera) { FollowRoadCamera->Start(false, 0); } return; } } }