2014-12-07 19:09:38 -05:00
|
|
|
// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
|
2014-09-09 12:16:36 -04:00
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "ModuleManager.h"
|
|
|
|
|
#include "HardwareTargetingSettings.h"
|
|
|
|
|
|
|
|
|
|
DECLARE_DELEGATE_OneParam(FOnHardwareClassChanged, EHardwareClass::Type)
|
|
|
|
|
DECLARE_DELEGATE_OneParam(FOnGraphicsPresetChanged, EGraphicsPreset::Type)
|
|
|
|
|
|
2014-09-18 22:10:53 -04:00
|
|
|
/** Struct specifying pending changes to a settings object */
|
|
|
|
|
struct FModifiedDefaultConfig
|
|
|
|
|
{
|
|
|
|
|
/** The settings object to which the description relates */
|
|
|
|
|
TWeakObjectPtr<UObject> SettingsObject;
|
|
|
|
|
|
|
|
|
|
/** Heading describing the name of the category */
|
|
|
|
|
FText CategoryHeading;
|
|
|
|
|
|
|
|
|
|
/** Text describing the pending changes to the settings */
|
|
|
|
|
FText Description;
|
|
|
|
|
};
|
|
|
|
|
|
2014-09-09 12:16:36 -04:00
|
|
|
class IHardwareTargetingModule : public IModuleInterface
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
/** Singleton access to this module */
|
|
|
|
|
HARDWARETARGETING_API static IHardwareTargetingModule& Get();
|
|
|
|
|
|
|
|
|
|
/** Apply the current hardware targeting settings if they have changed */
|
|
|
|
|
virtual void ApplyHardwareTargetingSettings() = 0;
|
|
|
|
|
|
2014-09-18 22:10:53 -04:00
|
|
|
/** Gets a list of objects that are required to be writable in order to apply the settings */
|
|
|
|
|
virtual TArray<FModifiedDefaultConfig> GetPendingSettingsChanges() = 0;
|
2014-09-18 01:29:26 -04:00
|
|
|
|
2014-09-09 12:16:36 -04:00
|
|
|
/** Make a new combo box for choosing a hardware class target */
|
|
|
|
|
virtual TSharedRef<SWidget> MakeHardwareClassTargetCombo(FOnHardwareClassChanged OnChanged, TAttribute<EHardwareClass::Type> SelectedEnum) = 0;
|
|
|
|
|
|
|
|
|
|
/** Make a new combo box for choosing a graphics preference */
|
|
|
|
|
virtual TSharedRef<SWidget> MakeGraphicsPresetTargetCombo(FOnGraphicsPresetChanged OnChanged, TAttribute<EGraphicsPreset::Type> SelectedEnum) = 0;
|
|
|
|
|
};
|
|
|
|
|
|