Skip to content

GameSelfData 功能和API讨论 #1

@heartcase

Description

@heartcase

需求

给事件供自身的数据绑定, 并通过eventId访问.
本插件应作为其他插件的底层数据支持.

概念

术语 解释 类型
data 事件数据 any
key 数据类型 string
dataKey 事件数据索引 string
sharedDataEvent 共享数据的事件 Game_Event
sharedId 共享数据 Id number

dataKey 合成规则

一般事件: <mapId>,<eventId>,<key>
共享数据的事件: <sharedId>,<key>

dataKey 相关操作

  • getDataKey(mapId, eventId, key) => dataKey
  • getSharedDataKey(sharedId, key) => dataKey
  • getDataKeys(mapId, eventId) => dataKeys
  • getSharedDataKeys(sharedId) => dataKeys

这些方法应定义在window.SelfData命名空间中

Game_SelfData 游戏对象

继承于Game_SelfSwitch
需要重写以下方法来支持任意类型的数据读写

  • value(dataKey)
  • setValue(dataKey, data)
    • 设置数据时应会触发update方法来刷新地图状态

全局游戏实例$gameSelfData

  • 重写DataManager.createGameObjects
  • 重写DataManager.makeSaveContents
  • 重写DataManager.extractSaveContents

$gameSelfData 相关操作

  • setValue(key, value)
  • value(key)
  • clearValue(key)

这些方法应定义在window.SelfData命名空间中

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions