Commit Graph

27 Commits

Author SHA1 Message Date
Matthew Griffin
984342ca17 Merging //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) post CL#2804086 to CL#2817167
CL#2805395 resolved as target to avoid copying 2015 changes
#lockdown Nick.Penwarden

[CL 2819197 by Matthew Griffin in Main branch]
2016-01-07 11:21:22 -05:00
Matthew Griffin
bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00
Jaroslaw Palczynski
2c16d2b417 FStringAssetReference fixes.
All changes regarding e-mail discussion titled "Asset registry shenanigans".

Changes:
1. Engine now actively is getting rid of short asset paths in FStringAssetReference during saving (for all packages) and loading (only for older packages).
2. Deprecated direct access to FStringAssetReference.AssetLongPathname and exposed it via ToString and SetPath -- SetPath is making sure the path is in correct format. If the path can't be found on disk, the path is cleared.
3. Also access to FStringAssetReference.AssetLongPathnam via Blueprints is guarded using custom Make node function that uses SetPath instead of simple assign.
4. StringAssetReferenceMap will now contain only paths to packages (not objects) and ini references
5. GetDependencies now has additional parameter that lets you chose if it should resolve ini references or not. It was left not as default to keep old behaviour.

[CL 2630589 by Jaroslaw Palczynski in Main branch]
2015-07-23 10:49:29 -04:00
Richard Hinckley
41a00ec0ab Added a feature to in-engine tutorials that enables platform-specific screen skipping.
[CL 2604350 by Richard Hinckley in Main branch]
2015-06-29 14:06:00 -04:00
Richard Hinckley
4ba3b8b2f1 [UE-9586] The "Back" button in tutorials can be linked to a different tutorial, like the "Next" button. Tutorials assigned to the "Previous Tutorial" field (new) will be used for this, and will activate the button for this purpose on stage 0. Tutorials started in this way will begin on their final stage. The Launch Tutorial functionality (in code) now uses an enum for startup instead of a bool, so we can force a restart, continue from where we left off (default), or start at the final stage.
[CL 2500370 by Richard Hinckley in Main branch]
2015-04-02 16:56:18 -04:00
Thomas Sarkanen
5bf7af11b3 Fixed tutorial analytics when returning to browser via 'Home' button
This needs to use a seperate path now so we cant rely on the 'closed' event firing.

AN-93 - Tutorial Event Not Sending?

[CL 2468643 by Thomas Sarkanen in Main branch]
2015-03-04 06:27:23 -05:00
Ben Marsh
1da42a80f2 [INTEGRATE] Change 2422514 by Richard.Hinckley@Richard.Hinckley_Z3230_Releases on 2015/01/28 13:45:27
UE-8101 - CurrentTutorial wasn't being cleared when a tutorial ended, so some effects of tutorial stages could still happen after the user exited a tutorial.

[CL 2425864 by Ben Marsh in Main branch]
2015-01-30 11:04:45 -05:00
Richard Hinckley
af4e486a74 UE-7990 - Fixed with a decent Slate widget.
[CL 2420847 by Richard Hinckley in Main branch]
2015-01-27 14:54:15 -05:00
Dan Hertzka
c042ddcb94 ---- Merging with SlateDev branch ----
Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI.

While asleep, Slate will skip the Tick & Paint pass for that frame entirely.
- There are TWO ways to "wake" Slate and cause a Tick/Paint pass:
    1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active.
        - Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick.
    2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked.

- The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action.
    - Examples include animation, async operations that update periodically, progress updates, loading bars, etc.

- An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before.

- An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick()
    - There are THREE ways to unregister an active tick:
        1. Return EActiveTickReturnType::StopTicking from the active tick function
        2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick()
        3. Destroy the widget responsible for the active tick

- Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar
- There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed.
    - The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f)

- The FCurveSequence API has been updated to work with the active tick system
    - Playing a curve sequence now requires that you pass the widget being animated by the sequence
    - The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete
    - GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end.

[CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -05:00
Ben Marsh
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00
Thomas Sarkanen
819d171331 Restructured tutorial analytics events
Where dynamic event names were being constructed from tutorial assets, now reworked events to add a dynamic parameter.

UE-4978 - Restructure Tutorial Analytic Events

[CL 2377327 by Thomas Sarkanen in Main branch]
2014-12-05 05:33:09 -05:00
bruce nesbit
8fb1204d2e Added code to save current tutorial progress when tutorials are closed. (Fixes recurring welcome bubble)
[CL 2354482 by bruce nesbit in Main branch]
2014-11-10 09:44:22 -05:00
Thomas Sarkanen
9d65f80e73 Tutorial Blueprint fixes
Tutorials now return a valid UWorld, enabling audio playback, timers and all sorts of good stuff.
Stage started event now fires on first stage.
Skipping a stage from BP now rebuilds content properly.
Added events for tutorial launch and close.

[CL 2330093 by Thomas Sarkanen in Main branch]
2014-10-15 09:37:16 -04:00
Wes Hunt
31e2bb00ac Removed a bunch of stuff from Slate standard include, created SlateBasics.h
* Moved Slate.h into SlateBasics.h and began shifting less commonly used headers into SlateExtras.h.
* Slate.h now simply includes SlateBasics.h and SlateExtras.h.
* Slate.h includes a deprecated warning now to indicate that SlateBasics.h + specific includes should be used instead.
* Moved dozens of inlined functions using Slate widgets into .cpp files to avoid header dependencies.
* All code samples now include SlateBasics.h and SlateExtras.h so future shifts will not break most those projects, but not trigger the deprecation warning of including Slate.h.
#BUN

[CL 2329610 by Wes Hunt in Main branch]
2014-10-14 22:50:06 -04:00
Thomas Sarkanen
3014bfc0df Moving tutorial browser to an editor nomad tab
Tweaked styles and layout to better suit a tab.
Also fixed browser not showing some tutorials if all assets are not yet loaded.
Progress is now updated periodically as the browser can be now open while a tutorial is in progress.

TTP# 347956 - TUTORIALS: Selecting More Tutorials can hide Tutorial Browser

[CL 2327011 by Thomas Sarkanen in Main branch]
2014-10-13 06:46:06 -04:00
Thomas Sarkanen
cf68744ac8 Tutorials are now restarted when taken if they were previously completed
Override parameter passed in to LaunchTutorial when the tutorial has been completed already.

TTP# 348110 - EDITOR: TUTORIALS: Completed tutorials should always restart when re-taken

[CL 2315684 by Thomas Sarkanen in Main branch]
2014-10-01 05:57:50 -04:00
Thomas Sarkanen
dfc9addd05 Tearing off a highlighted widget no longer results in duplicate content being displayed
Tutorials browser now always appears on the mainframe. This avoids the browser appearing on small torn-off windows if content is torn off while a tutorial is in progress.
Also fixed crash when opening a browser from a widget that used to be docked to anotehr tab (weak window pointer was invalid at this point).

TTP# 347014 - EDITOR: TUTORIAL: If a tab is undocked while being referenced in the "welcome to the unreal editor" tutorial, there will be two instances of the tutorial text

[CL 2305366 by Thomas Sarkanen in Main branch]
2014-09-22 09:42:52 -04:00
Thomas Sarkanen
f9b46bc4d6 Correctly open tutorial when opening an asset for a tutorial.
Make sure we have an overlay constructed for the window we just created for the asset.

TTP# 347174 - TUTORIAL: When clicking on a sub editor tutorial, the tutorial does not automatically popup if the sub editor is not already opened

[CL 2305305 by Thomas Sarkanen in Main branch]
2014-09-22 09:41:50 -04:00
James Golding
8469b0fc89 Fix tutorial not displaying if NULL window was passed in
#codereview thomas.sarkanen

[CL 2302957 by James Golding in Main branch]
2014-09-18 16:42:40 -04:00
Thomas Sarkanen
304d700746 Added/edited extra tutorial contexts & added analytics
Tutorial contexts for IOS/Android/Whatever are now hooked up (console setup ones are still missing).

Analytics added for tutorial usage in various places.

Added ability to reset tutorial state with -ResetTutorials command-line flag.

Cleaned up some unused code (still a lot more to come here!).

[CL 2302314 by Thomas Sarkanen in Main branch]
2014-09-18 08:10:29 -04:00
Thomas Sarkanen
5ac251775a CIS fix - non-unity build
[CL 2300834 by Thomas Sarkanen in Main branch]
2014-09-17 08:30:32 -04:00
Thomas Sarkanen
cae9246a71 Tutorials can now open an asset when started
The tutorial system will then attach non-widget-bound content to the asset editor window.
Also, assets can now be opened from a tutorial blueprint.

[CL 2300747 by Thomas Sarkanen in Main branch]
2014-09-17 05:44:56 -04:00
Thomas Sarkanen
12a32f87f4 Fixed crash when zero-length tutorials are run
TTP# 345094 - CRASH: Selecting the arrow keys in the tutorial will cause an immediate crash with the new Tutorial system

[CL 2293498 by Thomas Sarkanen in Main branch]
2014-09-11 03:56:58 -04:00
Thomas Sarkanen
8dc16308f3 Added tutorials button in top bar of editor & sub-editors
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]
2014-08-28 06:22:40 -04:00
Thomas Sarkanen
e03598559f CIS fix for unresolved external
[CL 2264371 by Thomas Sarkanen in Main branch]
2014-08-20 11:52:58 -04:00