RealtimeStyleTransferRuntime/Source/LyraGame/System/LyraActorUtilities.h

41 lines
1.3 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "LyraActorUtilities.generated.h"
UENUM()
enum class EBlueprintExposedNetMode : uint8
{
/** Standalone: a game without networking, with one or more local players. Still considered a server because it has all server functionality. */
Standalone,
/** Dedicated server: server with no local players. */
DedicatedServer,
/** Listen server: a server that also has a local player who is hosting the game, available to other players on the network. */
ListenServer,
/**
* Network client: client connected to a remote server.
* Note that every mode less than this value is a kind of server, so checking NetMode < NM_Client is always some variety of server.
*/
Client
};
UCLASS()
class ULyraActorUtilities : public UBlueprintFunctionLibrary
{
GENERATED_BODY()
public:
/**
* Get the network mode (dedicated server, client, standalone, etc...) for an actor or component.
*/
UFUNCTION(BlueprintCallable, Category="Lyra", meta=(WorldContext="WorldContextObject", ExpandEnumAsExecs=ReturnValue))
static EBlueprintExposedNetMode SwitchOnNetMode(const UObject* WorldContextObject);
};