FScopedSlowTask has been refactored to better allow for nesting of slow operations. This allows us to cascade nested scopes and provide accurate feedback on slow tasks. FScopedSlowTasks now work together when nested inside sub functions. Break up long functions that contain calls to multiple nested FScopedSlowTasks with FScopedSlowTask::EnterProgressFrame().
Example Usage:
void DoSlowWork()
{
FScopedSlowTask Progress(2.f, LOCTEXT("DoingSlowWork", "Doing Slow Work..."));
// Optionally make this show a dialog if not already shown
Progress.MakeDialog();
// Indicate that we are entering a frame representing 1 unit of work
Progress.EnterProgressFrame(1.f);
// DoFirstThing() can follow a similar pattern of creating a scope divided into frames. These contribute to their parent's progress frame proportionately.
DoFirstThing();
Progress.EnterProgressFrame(1.f);
DoSecondThing();
}
This addresses TTP#338602 - NEEDS REVIEW: Editor progress bars nearly always just show 100%, don't offer useful indication of progress
[CL 2322391 by Andrew Rodham in Main branch]
The main changes are as follows:
1. moved Json out of Core into own module 'Json'
2. moved 3 i10n classes (Json serializers) from Core into a new module 'Internationalization' *
3. fixed up 2 i10n classes in Core to not instantiate the 3 Json-based classes. instead they are now passed in as a dependency
*) (2) and (3) were required to decouple the I10n code in Core from Json. Much of the i10n code probably doesn't belong into Core in the first place, but there is no time to fix this right now.
The following cosmetic changes were also made:
- NULL to nullptr
- namespaced enums to enum classes
- renamed the three i10n Json serializer classes to comply with naming conventions
- removed file header comments (not used)
- documentation, spelling, spacing etc,
#UpgradeNotes: If your module is including Json.h then you have to add 'Json' to your Build.cs module dependencies.
#ReviewedBy: justin.sargent, saul.abreu
[CL 2310420 by Max Preussner in Main branch]
Added a fallback to treat the path passed-in as a documentation path if the asset path doesnt correspond to a BP.
[CL 2309566 by Thomas Sarkanen in Main branch]
- removed dummy UClasses (no longer needed)
- removed file header comments (not used)
- removed duplicated function documentation in cpp files
- documentation cleanup, punctuation, spelling etc.
- pragma once include guards (now work on all platforms)
- relative public includes (are auto-discovered by UBT)
- fixed too many/too few line breaks
- deleted empty files
- missing override
- NULL to nullptr
[CL 2305058 by Max Preussner in Main branch]
#change Added (desktop) platform abstraction for checking if UBT is running. Fully functional for Windows, WIP for Mac and Linux (should work, but can give false positives)
[CL 2302894 by Robert Manuszewski in Main branch]
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]