大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
原创文章,转载请注明出处。
本文带大家认识UE4的插件, Plugin
UE4 Engine中插件代码占很大一部分,可参考下图,里面的Editor, Developer, Runtime, Slate举例都是大家比较熟悉的几个
1>看下图的中Json,其实就是我们的.plugin文件
{
"FileVersion": 3, //文件版本
"Version": 1, //Plugin版本
"VersionName": "1.0", //版本名称
"FriendlyName": "Taskp", //插件名称
"Description": "tianhuajian created", //插件描述
"Category": "Other", //插件所属组
"CreatedBy": "tianhuajian", //插件创建者
"CreatedByURL": "", //创建者网站
"DocsURL": "", //插件的文档URL
"MarketplaceURL": "", //虚幻商城URL
"SupportURL": "", //技术支持URL
"CanContainContent": true, //是否可包含Content
"IsBetaVersion": false, //是否是测试版
"IsExperimentalVersion": false, //是否是实验性的版本, UE4插件中会有显示
"Installed": false, //是否安装的
"Modules": [ //可包含多个模块
{
"Name": "TestPlg", //重要:模块名称
"Type": "Runtime", //重要:模块的类型->下面再介绍
"LoadingPhase": "Default" //重要:加载阶段->下面再介绍
}
]
}
2>Modules->Type(类型)介绍
代码中搜索 EHostType, 转到定义, ModuleDescriptor.h,对应上面Type 的枚举其实就在这个文件中。
/** * Environment that can load a module. */
namespace EHostType
{
enum Type
{
// Loads on all targets, except programs.
Runtime, //Runtime模式下会去加载
// Loads on all targets, except programs and the editor running commandlets.
RuntimeNoCommandlet, //Runtime模式, 不包含命令
// Loads on all targets, including supported programs.
RuntimeAndProgram, //Runtime模式, 小程序
// Loads only in cooked games.
CookedOnly, //和Cook资源相关
// Only loads in uncooked games.
UncookedOnly, //只在没有cook过的程序中加载
// Deprecated due to ambiguities. Only loads in editor and program targets, but loads in any editor mode (eg. -game, -server).
// Use UncookedOnly for the same behavior (eg. for editor blueprint nodes needed in uncooked games), or DeveloperTool for modules
// that can also be loaded in cooked games but should not be shipped (eg. debugging utilities).
Developer, //开发模式下加载,兼容老版本留下来的枚举
// Loads on any targets where bBuildDeveloperTools is enabled.
DeveloperTool, //开发模式下加载 新的枚举
// Loads only when the editor is starting up.
Editor, //Editor模块
// Loads only when the editor is starting up, but not in commandlet mode.
EditorNoCommandlet, //Editor非命令行加载
// Loads only on editor and program targets
EditorAndProgram, //Editor小程序
// Only loads on program targets.
Program, //独立程序
// Loads on all targets except dedicated clients.
ServerOnly, //服务端模块
// Loads on all targets except dedicated servers.
ClientOnly, //客户端模块
// Loads in editor and client but not in commandlets.
ClientOnlyNoCommandlet, //客户端没有命令行的模块
//~ NOTE: If you add a new value, make sure to update the ToString() method below!
Max //如果新加枚举的话 别忘了把这个Namespace中的tostring方法完善一下
};
3>Modules->LoadingPhase(加载阶段)介绍
代码中搜索 ELoadingPhase, 转到定义, ModuleDescriptor.h,对应上面LoadingPhase 的枚举其实就在这个文件中。
namespace ELoadingPhase
{
enum Type
{
/** As soon as possible - in other words, uplugin files are loadable from a pak file (as well as right after PlatformFile is set up in case pak files aren't used) Used for plugins needed to read files (compression formats, etc) */
EarliestPossible,
/** Loaded before the engine is fully initialized, immediately after the config system has been initialized. Necessary only for very low-level hooks */
PostConfigInit,
/** The first screen to be rendered after system splash screen */
PostSplashScreen,
/** Loaded before coreUObject for setting up manual loading screens, used for our chunk patching system */
PreEarlyLoadingScreen,
/** Loaded before the engine is fully initialized for modules that need to hook into the loading screen before it triggers */
PreLoadingScreen,
/** Right before the default phase */
PreDefault,
/** Loaded at the default loading point during startup (during engine init, after game modules are loaded.) */
Default,
/** Right after the default phase */
PostDefault,
/** After the engine has been initialized */
PostEngineInit,
/** Do not automatically load this module */
None,
// NOTE: If you add a new value, make sure to update the ToString() method below!
Max
};
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/186041.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...