添加 HowToUseWeaklyScripts
@@ -0,0 +1,24 @@
|
||||
# XericLibrary.Runtime.Type
|
||||
|
||||
## [超级单例 SingleMonoBase](../wiki/SingleMonoBase)
|
||||
|
||||
超级单例系统提供了基本单例用法,并在此基础上进行了大幅扩展。
|
||||
1. 1. 你可以基于超级单例声名脚本,但不必在场景中挂载;
|
||||
超级单例会根据用法自动在便于管理的位置生成该单例,而您只需要专注于用法,生成过程和生命周期顺序皆自由可控,且对过程隐式。
|
||||
|
||||
2. 2. 你可以不必在意单例是否源自自身,超级单例允许使用其他已有的类型作为泛型参数:
|
||||
使用self限定获取自己,反之获取泛型中指定的类型脚本。
|
||||
比如希望使用另一个类中的功能,但又不不希望自己重写另一个类中的生命周期和方法,此举可以快速在多个类型实例中进行切换,而完全不用在场景中进行操作和挂载,切换时对过程隐式。
|
||||
|
||||
3. 3. 临时希望场景中存在多个单例?使用超级单例进行声名的对象,对自身来说最多允许同时管理三个实例(1.自身实例,2.基于自身类型的代理实例,3.源于自身的实例)
|
||||
|
||||
4. 4. 允许隐式声名
|
||||
超级单例不强制要求继承,使用相同的单例语法,可以自动创建一个完全对过程隐式的单例对象,对任何基于组件的脚本有效。
|
||||
场景中已经存在了这个脚本?不用担心,超级单例会复用这个对象,不会出现单例溢出。
|
||||
|
||||
5. 5. 允许放在全局不销毁世界中
|
||||
使用Global限定,创建的单例将自动移动到不销毁世界中。
|
||||
|
||||
6. 6. 支持更多语法
|
||||
喜欢烧脑的感觉?单例对象允许进行嵌套,配合第二点,单例可以直接套娃式递增,配合第四点,单例将不仅限于隐式生成单个对象,还有更多玩法等你探索。
|
||||
|
||||
Reference in New Issue
Block a user