Commit Graph

27 Commits

Author SHA1 Message Date
Richard Hinckley
a40029ea8a [UE-7479] Fixed so that tutorial BPs made from other blueprints will still be recognized by the browser.
[CL 2612281 by Richard Hinckley in Main branch]
2015-07-07 09:52:55 -04:00
Richard Hinckley
b2f1c91ad4 [UE-7857] Scroll bar fix for tutorials browser.
[CL 2572592 by Richard Hinckley in Main branch]
2015-06-01 11:46:50 -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
Richard Hinckley
397b31b2f7 [UE-9386] Tutorial Browser categories show up as completed if all tutorials in the category are completed. Also works recursively if there's a category within a category, meaning the sub-category must have all its tutorials (and sub-categories) complete in order to show as complete itself.
[CL 2487751 by Richard Hinckley in Main branch]
2015-03-23 10:08:21 -04:00
Thomas Sarkanen
97b7a49977 Fixed docked tutorial browser never showing tutorials
While the asset registry is loading we need to refresh tutorials as this is the only mechanism by which they are picked up by the browser.

[CL 2468793 by Thomas Sarkanen in Main branch]
2015-03-04 10:32:32 -05:00
Saul Abreu
79a26091bf Fixed behavior on FString::ParseIntoArray (muliple delimiters overload) functionality to support optionally culling empty strings. Greatly simplified implementation logic. Output parameter now properly named and taken by reference.
#codereview Steve.Robb, Robert.Manuszewski

[CL 2466824 by Saul Abreu in Main branch]
2015-03-02 15:51:37 -05:00
Richard Hinckley
2a39e92502 Sort order of tutorials and categories in tutorial browser can now be set in data instead of always being alphabetical.
[CL 2428136 by Richard Hinckley in Main branch]
2015-02-02 10:16:37 -05:00
Richard Hinckley
7588d10092 UE-7933 - Added functionality to dismiss a summoned tutorial browser. This functionality is triggered when a tutorial is launched from the browser.
[CL 2422250 by Richard Hinckley in Main branch]
2015-01-28 10:52:33 -05:00
Richard Hinckley
a076fd9bb9 UE-7990 fixed the technical issues. Still should have a visual element, like a throbber, to give users some feedback as to why the tutorial window isn't popping up immediately.
[CL 2417904 by Richard Hinckley in Main branch]
2015-01-24 15:00:16 -05:00
Dan Hertzka
1ce19a5ffa Full rename of the Slate "active tick" system to "active timer"
[CL 2394301 by Dan Hertzka in Main branch]
2014-12-19 17:44:49 -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
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
Jamie Dale
669024da75 Fixed auto-wrapped text in the tutorials list never growing again if it was shrunk
TTP# 347884 - EDITOR: TUTORIALS: text does not expand when maximizing the window

The auto-wrapping allowed the text block to shrink when the window was shrunk, however the sizers were set to align their content left horizontally (rather than fill, which is the default) meaning that the text block was never allowed to grow again once it had shrunk.

A better way to achieve this is to set the sizer slots to fill, and then use the text justification on the text block to control the text location - thankfully both of these are the defaults.

#codereview Thomas.Sarkanen

[CL 2313013 by Jamie Dale in Main branch]
2014-09-29 11:55:44 -04:00
Thomas Sarkanen
fe407d11d4 Searching tutorials now recursively searches all categories and sub-categories
If we have a search string we should search all categories starting at the current context, rather than just one level deep as before.
Also fixed search text highlighting to be consistently coloured and to show up for rich text content.

TTP# 347534 - CRITICAL: TUTORIALS: Search bar only shows results for currently displayed tutorials

[CL 2312725 by Thomas Sarkanen in Main branch]
2014-09-29 06:54:17 -04:00
Thomas Sarkanen
d60e92beca Added breadcrumb trail to tutorials browser
Displays crumbs according to the current navigation filter.

TTP# 347533 - TUTORIALS: Display tree path in Tutorial Window

[CL 2312668 by Thomas Sarkanen in Main branch]
2014-09-29 05:28:46 -04:00
Thomas Sarkanen
4e909f8754 Dont show non-standard Blueprint Tutorials
Also allow tutorials to be hidden from the browser if necessary

TTP# 347111 - TUTORIALS:Tutorials browser shows MacroLibraries based on EditorTutorial class

[CL 2305308 by Thomas Sarkanen in Main branch]
2014-09-22 09:42:03 -04:00
Thomas Sarkanen
27e2adfdc8 Sorted tutorials browser entries
So the list is stable, for now we do a simple alphabetical sort.

reviewed by James.Golding

[CL 2302982 by Thomas Sarkanen in Main branch]
2014-09-18 16:43:17 -04:00
Thomas Sarkanen
526414cc16 Added completion 'Tick' displayed in the browser
Shows when a tutorial has been completed.
Also added tooltips explaining what the icon means & a tooltip for the restart button.

[CL 2302400 by Thomas Sarkanen in Main branch]
2014-09-18 09:02:51 -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
918ef98415 Tidied up Tutorials Browser
Tweaked padding and button styles so the layout is more consistent.
Add ability to display textures as icons in the browser (for categories and tutorials).

[CL 2292442 by Thomas Sarkanen in Main branch]
2014-09-10 12:30:30 -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
1328ebc6ef Use the Asset Registry to discover tutorials
Fixed visibility issues where hyperlinks could not be clicked.
Implemented BP functions for tutorial stage completion etc.

[CL 2264228 by Thomas Sarkanen in Main branch]
2014-08-20 10:27:41 -04:00