Skip to content

MapGraph 需求和接口设计 #16

@heartcase

Description

@heartcase

跨地图路径点定义

pos: (mapId, x, y)

跨地图路径点连接定义

设置从路径点NodeA和路径点NodeB为连通状态, 其通行代价为cost
NodeANodeBcost可以和NodeBNodeA之间不同
连接也可以为单向, 通过设置其cost-1

跨地图路径点间寻路

函数定义: findRoutine(start, end) => NodePath[]
寻路算法会选择cost最少的路线(而不是坐标距离最小)

寻路目的地是否可以拓展为一个方法? 比如目的地可以是满足条件(参数end是 filter 函数)的多个路径点之一.

动态连接和序列化

如果需要动态(游戏过程中)设置路径点的连接, 则需要将MapGraph序列化
目前 MZ 自带的序列化算法无法判断是否是同一引用, 而会创建多个对象, 造成 bug
需要使用新的序列化算法

数据初始化

如何导入初始化数据?
如果需要遍历地图, 是否应该提供一个起到预编译(而不是直接在游戏中遍历地图)作用的脚本(node 脚本?py 脚本?), 最后输出一个编译好的 js/json 文件?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions