Commit Graph

209 Commits

Author SHA1 Message Date
Dan Hertzka
a6882ce517 Fixed infinitely duplicating active tick is SGameProjectDialog - widgets fade in properly again
[CL 2393797 by Dan Hertzka in Main branch]
2014-12-19 10:56:17 -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
bruce nesbit
cf94655d51 Changed source folder thumb/screen shot used by templates so it can share the asset with feature packs
revised code pack insert (now replaces feature pack header name on import instead of using %MODULE_INCLUDE_PATH%

[CL 2388691 by bruce nesbit in Main branch]
2014-12-15 11:36:33 -05:00
Michael Noland
5bc29b81a6 Editor: Add some verbose logging to help diagonse issues when creating new project templates
[CL 2387348 by Michael Noland in Main branch]
2014-12-12 15:38:16 -05:00
James Golding
1e88566029 Fix non-unity in GameProjectUtils.cpp
#codereview ben.marsh
#lockdown Zachary.EdgertonJones

[CL 2387090 by James Golding in Main branch]
2014-12-12 12:30:06 -05:00
Ben Marsh
4d275b2721 Immediately compile and open new code projects (rather than opening the IDE and requiring the user do it themselves).
#codereview lauren.ridge

[CL 2386116 by Ben Marsh in Main branch]
2014-12-11 16:39:39 -05:00
Frank Fella
29057592b6 NewProjectWizard - Fix text flicker on tab switch.
[CL 2385978 by Frank Fella in Main branch]
2014-12-11 15:09:40 -05:00
Robert Manuszewski
cb091bcd80 Hot-Reload improvements:
- CDO property values that have changed after hot-reload will now be propagated to the existing instances
- Adding code to a non-code project will no longer require restarting the editor to be able to work with new code (the new module will automatically be compiled and loaded)

[CL 2385307 by Robert Manuszewski in Main branch]
2014-12-11 06:03:58 -05:00
Nick Darnell
90e793745c Slate - ESlateCheckBoxState has been renamed to ECheckBoxState.
[CL 2384008 by Nick Darnell in Main branch]
2014-12-10 14:24:09 -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
bruce nesbit
bc6eed42ca Reverted Starter Content change.
[CL 2373006 by bruce nesbit in Main branch]
2014-12-01 19:04:12 -05:00
bruce nesbit
473df14d28 Revised starter content to use asset pack
Moved starter content assets
Added mobile starter content assets
Starter content uses mobile starter content based on target platform

[CL 2372343 by bruce nesbit in Main branch]
2014-12-01 08:44:00 -05:00
Jamie Dale
75900308d3 Fixed code relying on SLATE_TEXT_ATTRIBUTE for SHyperlink
Made sure everything was using FText rather than FString.

[CL 2370982 by Jamie Dale in Main branch]
2014-11-26 13:56:07 -05:00
Jamie Dale
0124ebf5b3 Removed SLATE_TEXT_ATTRIBUTE from AppFramework specific widgets
[CL 2369893 by Jamie Dale in Main branch]
2014-11-25 17:49:33 -05:00
Richard TalbotWatkin
a745d04c87 Improved performance in looking up module names and disallowed header names from source code by initializing a database asynchronously upon editor startup.
#jira UE-5324 - Huge hitch from FSourceCodeNavigation when selecting an object for the first time

[CL 2359722 by Richard TalbotWatkin in Main branch]
2014-11-14 02:05:33 -05:00
Richard TalbotWatkin
44e138164a Added additional checks in the New Class Dialog to disallow creating classes whose generated headers would clash with existing engine headers.
#jira UE-4770 - LIVE: Users are able to name a new class "Platform" even though there is already a class by that name in the Engine.

[CL 2357149 by Richard TalbotWatkin in Main branch]
2014-11-12 11:31:40 -05:00
Mikolaj Sieluzycki
51f5333986 Prepare cpp files for header cleanup.
#codereview Robert.Manuszewski

[CL 2356864 by Mikolaj Sieluzycki in Main branch]
2014-11-12 04:58:53 -05:00
Wes Fudala
8e55637fe5 Switched to using Epic Games Launcher instead of Epic Launcher
[CL 2356564 by Wes Fudala in Main branch]
2014-11-11 19:33:47 -05:00
Ben Marsh
b613fcb834 When creating new projects, only set the engine association if they're foreign.
[CL 2355130 by Ben Marsh in Main branch]
2014-11-10 17:04:43 -05:00
Dmitry Rekman
02bd8563a2 Improvements to code projects on Linux.
- Changes from PR #560 (contributed by salamanderrake).
- KDevelop accessor plugin added (switched to it in settings).
- Closes UE-4724.

[CL 2348971 by Dmitry Rekman in Main branch]
2014-11-04 16:37:36 -05:00
Chris Gagnon
0e6d657c3d Refactor to unify keyboard and controller input and focus.
Native controller navigation support.

[CL 2345039 by Chris Gagnon in Main branch]
2014-10-30 12:29:36 -04:00
bruce nesbit
da212769c0 Removed extra qualifier in SNewProjectWizard.h and added comments to the 4 new functions therin
[CL 2344918 by bruce nesbit in Main branch]
2014-10-30 10:27:56 -04:00
bruce nesbit
bfac007770 Tweaked new project dialog so it can show class and asset types used by a template.
Revised template descriptions to provide more details.

[CL 2344912 by bruce nesbit in Main branch]
2014-10-30 10:23:07 -04:00
Ian Shadden
6878263659 #UE4 DOCS: Added tutorial highlighting meta data to the Add Code to Project wizard: the major frame, the "type of code to add" scroll box, the class name, and path.
#Code_Review Jamie.Dale

[CL 2338726 by Ian Shadden in Main branch]
2014-10-23 13:16:00 -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