普特莫斯维基 (Purtmars Wikipedia 📖)

“Chemdah 开发者文档:自定义元数据”的版本间的差异

来自Purtmars Wikipedia —— 普特莫斯维基
(建立内容为“{{:Chemdah 开发者文档目录}} = 自定义元数据 = 元数据指任务中的被动行为或配置,常用于名称、标签等数据的设置。均继承…”的新页面)
 
第35行: 第35行:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
很简单是吧,因为元数据本身的设计就是没有主动行为,所以它的意义便是提供一个配置获取的途径。
+
很简单是吧,因为元数据本身的设计就是没有主动行为的,它的意义便是提供一个配置编写与获取的接口。

2021年5月7日 (五) 08:13的版本

目录

自定义元数据

元数据指任务中的被动行为或配置,常用于名称、标签等数据的设置。均继承自 ink.ptms.chemdah.core.quest.meta.Meta 类。
让我们从别名中学习如何自定义元数据。代码如下。

 1 @MetaType(MetaType.Type.TEXT)
 2 class MetaAlias(source: String?, questContainer: QuestContainer) : Meta<String?>(source, questContainer) {
 3 
 4     val alias = source
 5 
 6     companion object {
 7 
 8         /**
 9          * 使用扩展方法获取元数据
10          */
11         fun Template.alias() = meta<MetaAlias>("alias")?.alias
12 
13         @TFunction.Init
14         fun init() {
15             // 向 Chemdah 注册元数据类型
16             ChemdahAPI.addQuestMeta("alias", MetaAlias::class.java)
17         }
18     }
19 }

我们可以看到这个类使用了 @MetaType(MetaType.Type.TEXT) 注解,用于定义数据类型。
任务配置文件中书写格式如下。

1 template_01:
2   meta:
3     alias: alias01

很简单是吧,因为元数据本身的设计就是没有主动行为的,它的意义便是提供一个配置编写与获取的接口。