Commit Graph

61 Commits

Author SHA1 Message Date
Ben Marsh
78f6199447 Add a separate category for "installed" plugins, and hide categories if they're empty.
[CL 2527764 by Ben Marsh in Main branch]
2015-04-27 20:08:52 -04:00
Ben Marsh
eecb6f24ce Remove ensure against CoreUObject mount delegate existing unless there are plugins with content folders. Not entirely sure why this is necessary yet, but Mac DDC seems to be failing where it wasn't before.
[CL 2526386 by Ben Marsh in Main branch]
2015-04-26 22:19:39 -04:00
Ben Marsh
a784ebdf3c Change IPluginManager to return shared pointers to plugin objects, rather than passing raw pointers by default.
[CL 2526084 by Ben Marsh in Main branch]
2015-04-26 10:47:22 -04:00
Ben Marsh
923e6b01a4 Renaming some plugin browser stuff for consistency, and removing a bunch of unnecessary abstractions.
[CL 2526080 by Ben Marsh in Main branch]
2015-04-26 10:27:46 -04:00
Ben Marsh
11ff491a44 Add editor for plugin metadata.
[CL 2526069 by Ben Marsh in Main branch]
2015-04-26 09:18:08 -04:00
Ben Marsh
41d63d4980 Add a virtual destructor to FPlugin.
[CL 2524969 by Ben Marsh in Main branch]
2015-04-24 17:05:49 -04:00
Ben Marsh
9e4c2ae0a5 Use the exposed IPlugin interface to get plugin content folders rather than querying it separately.
[CL 2524929 by Ben Marsh in Main branch]
2015-04-24 16:37:21 -04:00
Ben Marsh
83e12c29e1 Accessor to get an array of all the enabled plugins.
[CL 2524773 by Ben Marsh in Main branch]
2015-04-24 14:58:39 -04:00
Ben Marsh
b1cf5c6d34 Add IPlugin interface, rather than exposing lots of raw data for plugins.
[CL 2524702 by Ben Marsh in Main branch]
2015-04-24 14:23:22 -04:00
Ben Marsh
8be8504edc Remove some of the tedious layers of indirection from the plugin manager.
[CL 2521707 by Ben Marsh in Main branch]
2015-04-22 16:41:13 -04:00
Ben Marsh
660595213d Better explanation for what FProjectDescriptor::EngineAssociation does.
[CL 2511591 by Ben Marsh in Main branch]
2015-04-14 09:13:27 -04:00
Jaroslaw Palczynski
6c305898e0 UE-8578: Slate Widget fails to compile once added to a new project
Slate Widget was failing, because of missing Slate dependencies. Testing introduced a couple of problems which all was fixed by this CL:
1. I introduced AdditionalDependencies in .uproject file and change "Add Code To Project..." procedure to fill this array if needed. UBT reads this field and builds the project with required modules. Needed for Slate classes.
2. Changed UHT to #include missing headers in generated.h files if it was missing an include for it's super class. It was causing problems if we were trying to add a subclass of BrushShape -- BrushShape.h didn't have #include "Brush.h" and UBrushShape was inheriting from UBrush.
3. Above problems also occured for Slate classes, but not all of them was UCLASSes, so I had to fixed that manually.
4. "Add Code To Project..." functionality was not invalidating UBT makefiles, which lead to omitting new source files during hot-reloading (even thought it was reporting a success). This change also should improve a bit performance, cause right now there is no "gathering" step -- there is only invalidate step which is a lot quicker.
5. Fixed "Selected Class Source" link to source class in Slate Widget and Slate Widget Style class.

#codereview Robert.Manuszewski

[CL 2481488 by Jaroslaw Palczynski in Main branch]
2015-03-17 09:34:18 -04:00
Marc Audy
e5ba044eb0 Fix shadowed variables
[CL 2451810 by Marc Audy in Main branch]
2015-02-19 12:13:52 -05:00
Jamie Dale
55c3728d11 Added support for showing game and engine classes in the Content Browser
UE-7184 - Show game c++ classes and engine c++ classes in the content browser

The Content Browser now has extra entries for "Game C++ Classes" and "Engine C++ Classes" (with "Game" and "Engine" being renamed to "Game Content" and "Engine Content" respectively). These new folders serve as hosts for the list of available C++ modules, with each module internally mirroring the folder structure on disk.

For example:
- Game C++ Classes
    - ShooterGame
        - Classes
            - Bots
                - ShooterBot
                - ShooterAIController
                - [...]
            - [...]

The Content Browser allows you to navigate and search these classes like you can with assets, and provides convenient access to either edit an existing class, or create a new class (either within a selected folder, or derived from a selected class).

As the Content Browser only shows you known UClass types, any new classes need to be compiled into a loaded module before they will appear. This means that adding a new class will now automatically hot-reload your target module. Should you prefer to handle building and loading your modules manually, you can disable the automatic hot-reload via "Editor Settings" -> "Miscellaneous" -> "Hot Reload" -> "Automatically Hot Reload New Classes" (see UEditorUserSettings::bAutomaticallyHotReloadNewClasses).

[CL 2409386 by Jamie Dale in Main branch]
2015-01-16 15:39:47 -05:00
Ben Marsh
1f5b1222c2 Remove GenerateNewProjectFile from IProjectManager.
[CL 2401854 by Ben Marsh in Main branch]
2015-01-09 08:08:13 -05:00
Richard TalbotWatkin
7510a0ba0f Improved splash screen and initialization process.
[CL 2390837 by Richard TalbotWatkin in Main branch]
2014-12-17 02:15:23 -05:00
Jaroslaw Palczynski
17bd6bf781 Getting rid of unnecessary loading of UE4Game module.
[CL 2385799 by Jaroslaw Palczynski in Main branch]
2014-12-11 13:19:40 -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
Ben Marsh
48b287992a Break circular include dependencies.
[CL 2371087 by Ben Marsh in Main branch]
2014-11-26 15:31:15 -05:00
Peter Knepley
9028456f7d Merging CL 2355060
//depot/UE4-UT/...

to //depot/UE4/...

[CL 2355062 by Peter Knepley in Main branch]
2014-11-10 15:59:44 -05:00
Jaroslaw Palczynski
2df4ab4b49 [UE-4798] AutostartupModules is not working properly
The auto-startup module list is now compiled to:
1. Exe if the target is a program.
2. Game module binary if the target is game, editor etc.

#codereview Robert.Manuszewski

[CL 2344885 by Jaroslaw Palczynski in Main branch]
2014-10-30 10:07:51 -04:00
Peter Knepley
15e57149aa Plugin config file usage
#codereview Josh.Adams

Merging CL 2337697

//depot/UE4-UT/...

to //depot/UE4/...

[CL 2338785 by Peter Knepley in Main branch]
2014-10-23 13:51:22 -04:00
Max Preussner
4766ae4a3e PluginEditor: Burst upgrades; added documentation links
[CL 2322900 by Max Preussner in Main branch]
2014-10-08 13:14:41 -04:00
Max Preussner
6510058ee7 Core: Moved Json out of Core and into its own module
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]
2014-09-25 18:03:04 -04:00
Mikolaj Sieluzycki
969a19da52 TTP#341974 CORE: Add support for external content for plugins.
#codereview Robert.Manuszewski

[CL 2297762 by Mikolaj Sieluzycki in Main branch]
2014-09-15 03:24:02 -04:00