普特莫斯维基 (Purtmars Wikipedia 📖)

Chemdah 开发者文档:自定义元数据

来自Purtmars Wikipedia —— 普特莫斯维基
Bkm016讨论 | 贡献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

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