挑战系统 / 进入区域挑战怪物
预设玩家会有一些特殊挑战只会在某一个固定区域进行,当玩家点击挑战时,玩家会被传送到这个区域内。
当这个区域在使用中时,我们不允许玩家再一次开启新的挑战。
玩家必须先结束正在进行的挑战,才能够再次进入该区域。
预设:
- 怪物出生点 : vector2
- 玩家传送点 : vector2
数据:
- 进行中的挑战 : table?
- 怪物ID : int
- 挑战结束回调动作 : fun(pid: int, result: int)?
状态:
- 是否存在正在进行中的挑战 : boolean
方法:
- 开始挑战 - int 怪物ID
- 结束挑战 - return int 结果 : 0胜利 1失败
可以通过设置回调动作来决定挑战胜利、失败后做什么事情。
开始挑战时,将玩家传送到玩家传送点,并在怪物出生点实例化怪物。
实例化怪物时,添加相应死亡动作,怪物死亡时结束挑战。