You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
Icon is only visible if content is available for the editor in question. Split editor settings into two groups - one is persistent settings and one is progress/state. Tutorials record their dismissed state, so users can permenantly disable the 'nag' for a particular tutorial. Tutorial content now solidifies when the mouse is hovered over it, so it can be made easier to read. Fixed crash on startup if an intro tutorial was displaying rich text. Also fixed crash for TTP# 345094, where a zero-length tutorial was being accessed. [CL 2275934 by Thomas Sarkanen in Main branch]
77 lines
3.2 KiB
C++
77 lines
3.2 KiB
C++
// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "ModuleManager.h"
|
|
|
|
class UEditorTutorial;
|
|
|
|
/**
|
|
* The public interface to this module. In most cases, this interface is only public to sibling modules
|
|
* within this plugin.
|
|
*/
|
|
class IIntroTutorials : public IModuleInterface
|
|
{
|
|
|
|
public:
|
|
|
|
/**
|
|
* Singleton-like access to this module's interface. This is just for convenience!
|
|
* Beware of calling this during the shutdown phase, though. Your module might have been unloaded already.
|
|
*
|
|
* @return Returns singleton instance, loading the module on demand if needed
|
|
*/
|
|
static inline IIntroTutorials& Get()
|
|
{
|
|
return FModuleManager::LoadModuleChecked< IIntroTutorials >( "IntroTutorials" );
|
|
}
|
|
|
|
/**
|
|
* Checks to see if this module is loaded and ready. It is only valid to call Get() if IsAvailable() returns true.
|
|
*
|
|
* @return True if the module is loaded and ready to use
|
|
*/
|
|
static inline bool IsAvailable()
|
|
{
|
|
return FModuleManager::Get().IsModuleLoaded( "IntroTutorials" );
|
|
}
|
|
|
|
/**
|
|
* Adds a tutorial association for a type of asset (will be summoned the first time an asset editor is opened for the specified asset class)
|
|
* @param AssetClass Asset type to register a tutorial for
|
|
* @param TutorialDocPath The path to the tutorial doc (must be rooted in the Shared directory, e.g., "Shared/Tutorials/InPersonaAnimEditorTutorial")
|
|
* @param TutorialHasBeenSeenSettingName The setting name to store whether this editor has been seen or not yet (stored in GEditorGameAgnosticIni in the [IntroTutorials] section)
|
|
* @param SurveyGUIDString Text representation of a GUID, used to uniquely identify this tutorial if required for a survey.
|
|
*/
|
|
virtual void RegisterTutorialForAssetEditor(UClass* AssetClass, const FString& TutorialDocPath, const FString& TutorialHasBeenSeenSettingName, const FString& SurveyGUIDString)=0;
|
|
|
|
/**
|
|
* Removes the tutorial association for the specified class
|
|
* @param AssetClass Asset type to unregister the tutorial from
|
|
*/
|
|
virtual void UnregisterTutorialForAssetEditor(UClass* AssetClass)=0;
|
|
|
|
/**
|
|
* Launch a tutorial immediately, bypassing the tutorial browser.
|
|
*
|
|
* @param Tutorial The tutorial to launch
|
|
* @param bRestart Whether to restart the tutorial or resume from where we left off last time.
|
|
* @param InNavigationWindow Optional window to launch the tutorial from - this is where navigation will be displayed.
|
|
*/
|
|
virtual void LaunchTutorial(UEditorTutorial* Tutorial, bool bRestart = true, TWeakPtr<SWindow> InNavigationWindow = nullptr, FSimpleDelegate OnTutorialClosed = FSimpleDelegate(), FSimpleDelegate OnTutorialExited = FSimpleDelegate()) = 0;
|
|
|
|
/**
|
|
* Close all tutorial content, including the browser.
|
|
*/
|
|
virtual void CloseAllTutorialContent() = 0;
|
|
|
|
/**
|
|
* Create a widget that allows access to the tutorial for the current context.
|
|
* @param InContext The name of the context this widget is attached to (e.g. "LevelEditor")
|
|
* @param InContextWindow The window that the context is attached to (e.g. the main window, or an asset editor tab)
|
|
* @return a widget used to access context-sensitive tutorials
|
|
*/
|
|
virtual TSharedRef<SWidget> CreateTutorialsWidget(FName InContext, TWeakPtr<SWindow> InContextWindow) const = 0;
|
|
};
|
|
|