跳到主要内容

game_server.buffs2

简介

  1. 这是一个通用的buff实现,可以用于战斗中或者战斗外
  2. 该实现需要受到以下限制:
    1. 以map提供的类型配置,且包含"big_type", "effect_mod", "reject", "replace", "overlay"字段,字段含义见代码
    2. 以map提供的等级配置,且包含"overlay_layer"字段,字段含义见代码

接入流程

  1. 配置处理对象继承BuffConfigBase并实现其中的接口
  2. 需要持有buff的对象继承BuffContainerBase并实现其中的接口,具有默认实现的接口可以选择覆盖

组件接口

BuffContainerBase.gs

buff容器基类

函数原型函数作用
mixed gain_buff(mixed conf_id, int duration, map data, map args)获得一个buff
void buff_heartbeat(int now_ms)心跳轮训
void buff_trigger_event(string event_name, map para)触发一类事件

BuffHandlerBase.gs

buff处理模块基类

函数原型函数作用
bool handle_event(object container_ob, Buff buff_data, string event_name, map para)处理事件

buffs2.gs

buff公共模块

函数原型函数作用
void set_buff_config_ob(object config_ob)设置buff配置管理模块
object get_buff_config_ob()获取buff配置管理模块
void load_extra_handlers(string path)载入buff事件处理对象
void add_overlay_process_func(string overlay, function func)添加叠加处理函数
function get_overlay_process_func(string overlay)通过名字获取叠加处理函数

样例

备注

TODO