RealtimeStyleTransferRuntime/Source/LyraGame/GameFeatures/GameFeatureAction_Splitscre...

48 lines
1.5 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Containers/Array.h"
#include "Containers/Map.h"
#include "GameFeatureAction_WorldActionBase.h"
#include "HAL/Platform.h"
#include "UObject/ObjectKey.h"
#include "UObject/UObjectGlobals.h"
#include "GameFeatureAction_SplitscreenConfig.generated.h"
class UObject;
struct FGameFeatureDeactivatingContext;
struct FGameFeatureStateChangeContext;
struct FWorldContext;
//////////////////////////////////////////////////////////////////////
// UGameFeatureAction_SplitscreenConfig
/**
* GameFeatureAction responsible for granting abilities (and attributes) to actors of a specified type.
*/
UCLASS(MinimalAPI, meta = (DisplayName = "Splitscreen Config"))
class UGameFeatureAction_SplitscreenConfig final : public UGameFeatureAction_WorldActionBase
{
GENERATED_BODY()
public:
//~ Begin UGameFeatureAction interface
virtual void OnGameFeatureDeactivating(FGameFeatureDeactivatingContext& Context) override;
//~ End UGameFeatureAction interface
//~ Begin UGameFeatureAction_WorldActionBase interface
virtual void AddToWorld(const FWorldContext& WorldContext, const FGameFeatureStateChangeContext& ChangeContext) override;
//~ End UGameFeatureAction_WorldActionBase interface
public:
UPROPERTY(EditAnywhere, Category=Action)
bool bDisableSplitscreen = true;
private:
TArray<FObjectKey> LocalDisableVotes;
static TMap<FObjectKey, int32> GlobalDisableVotes;
};