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