From b83a0ca915911dc77111bccd6fe67b786c79bf34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E8=8B=A5=E8=BE=B0?= Date: Wed, 24 Sep 2025 11:28:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20HowToUseWeaklyScripts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HowToUseWeaklyScripts.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 HowToUseWeaklyScripts.md diff --git a/HowToUseWeaklyScripts.md b/HowToUseWeaklyScripts.md new file mode 100644 index 0000000..c4cabfe --- /dev/null +++ b/HowToUseWeaklyScripts.md @@ -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. 支持更多语法 + 喜欢烧脑的感觉?单例对象允许进行嵌套,配合第二点,单例可以直接套娃式递增,配合第四点,单例将不仅限于隐式生成单个对象,还有更多玩法等你探索。 +