ue4集合类型_UE4.22 Subsystem分析

本文介绍了UE4.22版本的Subsystem特性,包括子系统的生命周期、蓝图访问方式和实现原理。子系统是自动实例化的类,允许扩展模块功能,且易于蓝图和Python访问。文章详细讨论了不同场景下如引擎、编辑器、GameInstance和LocalPlayer的子系统生命周期,并展示了如何在蓝图中使用子系统。
摘要由CSDN通过智能技术生成

884ef6a52b0507aa79a39119c7fab7ea.png

2019年4月2日,UE4.22版本正式发布,其中包含了很多新的特性,Subsystem(子系统)便是其中之一,这篇文章将分析Subsystem的用法以及实现原理。

概述

Subsystem(子系统)是自动实例化的类,其生命周期可以管理,目前与对应模块是一致的,能在不修改或继承引擎类的情况下,方便的扩展对应模块的功能,除此之外,还能原生获取蓝图和Python的公开性。Subsystem的设计使用了类似组合的设计模式,因此没有复杂的继承,也利于扩展和理解。

注意:这里所说的Subsystem与OnlineSubsystem是不同的概念。

当前支持的子系统生命周期

引擎

class UMyEngineSubsystem : public UEngineSubsystem {
     ... };

引擎子系统的模块加载时,子系统将在模块的Startup()函数执行返回后执行Initialize()。子系统将在模块的Shutdown()函数返回后执行Deinitialize()

这些子系统将通过GEngine进行访问:

UMyEngineSubsystem MySubsystem = GEngine->GetEngineSubsystem();

编辑器

class UMyEditorSubsystem : public UEditorSubsystem {
     ... };

编辑器子系统的模块加载时,子系统将在模块的Startup()函数返回后执行Initialize()。子系统将在模块的Shutdown()函数返回后执行Deinitialize()。

这些子系统将通过GEditor进行访问:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值