UCLASS(Abstract, Within = GameInstance)
class ENGINE_API UGameInstanceSubsystem : public USubsystem
{
}
- Abstract标记指明UGameInstanceSubsystem是抽象基类,是不能被直接创建出来的。需要创建子类,子类可以创建实例。
- Within = GameInstance,Within这个标记的意思是其对象的Outer必须是某个类型,另外Within的标记是会被继承到子类的。所以综合的意思就是继承于UGameInstanceSubsystem的之类Subsystem对象的Outer必须是GameInstance,保证了其对象的依存合法性。所以其实你也是不能自己随便NewObject()出来的,避免了自己误操作。