普特莫斯维基 (Purtmars Wikipedia 📖)

Chemdah 开发者文档:会话控制

来自Purtmars Wikipedia —— 普特莫斯维基
Bkm016讨论 | 贡献2021年5月5日 (三) 22:19的版本

目录

关系

对话(Conversation)与会话(Session)是两个不同的概念,如同类(Class)与对象(Object)的关系。
对话(Conversation)中包含一个核心方法:

 1 /**
 2  * 唤起对话
 3  * 脚本代理的执行在添加对话内容之前
 4  * 所有脚本包括嵌入式在内都会继承会话中的所有变量
 5  *
 6  * @param player 玩家
 7  * @param origin 原点(对话实体的头顶坐标)
 8  * @param sessionTop 上层会话(继承关系)
 9  * @param npcName 对话 NPC 名称
10  * @param npcObject 对话 NPC 对象
11  */
12 fun open(
13     player: Player, 
14     origin: Location, 
15     sessionTop: Session? = null, 
16     npcName: String? = null, 
17     npcObject: Any? = null
18 ): CompletableFuture<Session>

通过 player.conversationSession 扩展属性可以获取到玩家正在进行的会话,若返回空则视为玩家不在对话。