// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreMinimal.h" #include "CommonActivatableWidget.h" #include "GameplayTagContainer.h" #include "GameFeatureAction_WorldActionBase.h" #include "UObject/ObjectKey.h" #include "GameFeatureAction_SplitscreenConfig.generated.h" ////////////////////////////////////////////////////////////////////// // 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 LocalDisableVotes; static TMap GlobalDisableVotes; };