%%%---------------------------------------------------------------------
%%% 事件回调相关record定义
%%%---------------------------------------------------------------------


%%% @doc 事件回调参数
-record(event_callback, {
        id = 0,                    %% 事件id{M, F}
        type_id = 0,               %% 事件类型
        param = undefined,         %% 事件监听带入参数 term()
        data = undefined           %% 事件派发带出参数 term()
    }).

%%---------------------------------------------------------------------
%%% 以下定义用于派发事件的#event_callback.data参数
%%---------------------------------------------------------------------

-record(callback_combat_power_data, {
        type = none,                %% 战力变化类型 normal|other
        old_combat_power = 0,       %% 变化前战力
        combat_power = 0            %% 变化后战力
    }).

-record(callback_use_buff_goods_data, {
        goods = none               %% #goods{}
    }).

-record(callback_recharge_data, {
        recharge_product = none,   %% 充值商品配置 #base_recharge_product{}
        associate_ids = [],        %% 关联商品id [{product_type, product_id|...]  注：不包含当前使用自身
        money = 0,                 %% 充值金额数
        gold = 0,                  %% 充值元宝数
        is_charge_card = false     %% 是否是充值元宝卡
    }).

-record(achv_data, {
        subdata       = 0,         %% 触发事件的子数据(存放事件派发参数,如果没有更新值默认为num)
        num           = 1          %% 事件触发更新数值，默认等于1
    }).

-record(act_data, {
        act_id = 0,                %% 模块id
        act_sub = 0,               %% 模块子id
        type = 0,                  %% 类型
        %% 注: 上述三个字段与mod_daily中的{Module, SubModule, Type}一致
        num  = 1                   %%
    }).

-record(callback_give_goods_data, {
        type  = 0,                 %% 类型：1获得立即使用物品 2获得小天使\小恶魔 3获得鱼竿道具 4获得小萌羊激活道具
        goods = none               %% #goods{}
    }).

-record(callback_give_goods_list, {
    type  = 0,                      %% 类型：1 获得家具物品
    goods_list = []                 %% [#goods{}]
}).

-record(callback_equip_stren, {
        equip_pos = 0,             %% 装备类型
        stren = 0,                 %% 强化等级
        whole_level = 0,           %% 全身强化等级
        whole_num = 0              %% 全身数量
    }).

-record(callback_equip_wash, {
        total_num_list = []        %%装备洗练属性数量列表 [{color,num}]
    }).

-record(callback_equip_stone, {
        total_num_list = [],       %% 已穿戴装备镶嵌数量列表 [{color,num}]
        num_list = []              %% 本次操作装备镶嵌数量列表 [{color,num}]
    }).

%% 副本通关
-record(callback_dungeon_succ, {
        distribute = 0,            %% 派发时机0进入1完成副本
        dun_id = 0,                %% 副本id
        dun_type = 0,              %% 副本类型
        dun_wave = 0,              %% 经验副本完成波数
        help_type = 0,             %%
        start_time = 0,            %% 副本开始时间
        pass_time = 0,             %% 通关所花时间
        other = []
    }).

%% 参加竞技场
-record(callback_arena, {
        win = 0,                   %% 是否胜利
        win_num = 0,               %% 连胜数
        rank = 0                   %% 排名
    }).

%% 金钱消耗
-record(callback_money_cost, {
        consume_type = 0,          %% 消费类型
        money_type = 0,            %% 金钱类型
        cost = 0,                  %% 消耗数量
        args = #{}                 %% 一些额外的参数 #{vip_type = 旧的vip类型, old_max_vip_lv = 旧的vip等级}
    }).

%% 活跃度
-record(callback_activity_live, {
        activity_live = 0,         %% 活跃度
        add_live = 0               %% 增加活跃度值
    }).

%% 公会邀请
-record(callback_guild_invite, {
        invitee_id = 0             %% 被邀请者的id
    }).

%% 头像
-record(callback_picture, {
        role_id = 0,               %% 玩家id
        picture = "",              %% 头像
        picture_ver = 0,            %% 头像版本号
        profile_photo_id = 0              %%图片ID
    }).

%% 副本次数
-record(callback_dungeon_count, {
        dun_id = 0,                %% 副本id
        type = 0,                  %% 1:剩余次数改变;2:总次数改变
        num = 0                    %% 次数
}).

%% 加好友
-record(callback_add_friend, {
        friend_id = 0,             %% 玩家id
        sex = 0                    %% 性别
    }).
