%% ---------------------------------------------------------------------------
%% @doc 玩家事件管理器
%% @author hek
%% @since  2016-09-09
%% @deprecated 本模块管理玩家进程事件监听，移除，派发具体事件
%%
%% Note:
%% 每次都会触发的回调事件，不能进行移除操作
%% 添加暂时触发的事件，触发后可以移除
%% ---------------------------------------------------------------------------

-module (data_static_event).
-include ("def_event.hrl").
-export ([get_static_event/1]).

%% 玩家升级（全属性重算前，即调用count_player_attribute之前）
get_static_event(?EVENT_LV_UP_BF_COUNT_ATTR) ->
    [
        {lib_skill, handle_event, []}
        ,{warsoul_api, handle_event, []}
    ];

%% 玩家升级（全属性重算后，即调用count_player_attribute之后）
get_static_event(?EVENT_LV_UP) ->
    [
        {mod_chat_agent, handle_event, []}
        % 这个应该放在整个升级过程的最后，不放在这里
        , {lib_common_rank_api, handle_event, []}
        , {lib_task_api, handle_event, []}
        , {lib_pushmail, handle_event, []}
        , {lib_guild_api, handle_event, []}
        , {lib_role_api, handle_event, []}
        , {lib_dungeon_api, handle_event, []}
        , {lib_module, handle_event, []}
        , {lib_spec_sell_act, handle_event, []}
        , {lib_overflow_gift, handle_event, []}
        , {lib_live_skill, handle_event, []}
        , {comeback, handle_event, []}
        , {lib_limit_goal_api, handle_event, []}
        , {lib_player, handle_event, []}
        , {lib_dun_multi, handle_event, []}
        , {lib_role_foster,handle_event,[]}
        , {chat_simulation, handle_event, []}
        , {lib_achievement_api, handle_event, []}
        , {lib_exp_dun_drop, handle_event, []}
        , {fast_exp_drop, handle_event, []}
        , {lib_charm_beach, handle_event, []}
        , {lib_role_nucleon, handle_event,[]}
        , {lib_login_reward, handle_event, []}
        , {custom_act_personal, handle_event,[]}
        , {lib_lattice, handle_event, []}
        , {lib_lattice_shop, handle_event, []}
        , {lib_module_advance, handle_event, []}
        , {lib_elite_assessment, handle_event, []}
        %, {custom_act_small_recharge, handle_event, []}
        , {custom_act_circle_foster, handle_event, []}
        , {lib_role_god_dun, handle_event, []}
        , {custom_act_contract, handle_event, []}
        , {custom_act_jump_act, handle_event, []}
        , {custom_act_mobilize, handle_event, []}
        , {lib_dungeon_main_line, handle_event, []}
    ];

get_static_event(?EVENT_COMBAT_POWER) ->
    [
        {lib_common_rank_api, handle_event, []}
        , {custom_act_mobilize, handle_event, []}
        , {local_boss_api, handle_event, []}
        , {lib_player, handle_event, []}
        , {lib_guild_api, handle_event, []}
        , {lib_role_api, handle_event, []}
        , {lib_rush_rank_api, handle_event, []}
        , {lib_kf_1vn, handle_event, []}
        , {lib_child_api, handle_event, []}
        , {lib_guild_race_rank, handle_event, []}
        , {lib_role_god_dun, handle_event, []}
        , {wasteland_war_api, handle_event, []}
        , {lib_task_api,handle_event, []}
        , {custom_act_circle_foster,handle_event, []}
    ];

get_static_event(?EVENT_PICTURE_CHANGE) ->
    [
        % {lib_relationship_api, handle_event, []}
        {lib_guild_api, handle_event, []}
        , {lib_role_api, handle_event, []}
        , {lib_dungeon_pet, handle_event, []}
        , {madness_land_api, handle_event, []}
        , {custom_act_jump_act, handle_event, []}
    ];

get_static_event(?EVENT_PLAYER_DIE) ->
    [
        {lib_dungeon_api, handle_event, []}
        , {wasteland_war_api, handle_event, []}
        , {god_api, handle_event, []}
        , {lib_3v3_api, handle_event, []}
        , {guild_war_api, handle_event, []}
        , {madness_land_api, handle_event, []}
    ];

get_static_event(?EVENT_ZERO_CLOCK) ->
    [
        {lib_task_api, handle_event, []},
        {lib_marble, handle_event, []},
        {welfare_api, handle_event, []},
        {lib_login_reward, handle_event, []},
        {lib_sup_vip, handle_event, []},
        {lib_role_nucleon,handle_event,[]},
        {lib_lattice_shop,handle_event,[]},
        {custom_act_small_recharge, handle_event, []},
        {custom_act_mono_poly, handle_event, []},
        {lib_role_galaxy,handle_event,[]},
        {mod_week,handle_event,[]},
        {lib_custom_act_investment,handle_event,[]},
        {sign_reward,handle_event,[]},
        {lib_flower, handle_event, []},
        {lib_custom_act_loans, handle_event, []},
        {permit_login, handle_event, []},
        {custom_act_days_plan, handle_event, []},
        %% 活动公共的回调，有些活动之前已经独立做了回调
        {lib_custom_act_api, handle_event, []},
        {lib_seven_days_goal, handle_event, []},
        {lib_role_visus,handle_event,[]},
        {lib_activity_reserve,handle_event,[]}
        ,{lib_elite_assessment, handle_event, []}
    ];

get_static_event(?EVENT_FOUR_CLOCK) ->
    [
        {lib_guild_shop_mod,handle_event,[]},
        {local_boss_api, handle_event, []},
        {lib_guild_badge, handle_event, []},
        {offline_hosting_api, handle_event, []},
        {mod_week,handle_event,[]},
        {lib_guild_order_mod, handle_event, []},
        {lib_liveness,handle_event,[]},
        {lib_role_legion,handle_event,[]},
        {lib_role_task,handle_event,[]},
        {lib_arena,handle_event,[]},
        {lib_workroom, handle_event, []},
        {lib_dun_multi, handle_event, []}
    ];

get_static_event(?EVENT_GUILD_QUIT) ->
    [
        {lib_guild_api, handle_event, []}
        , {lib_designation_api, handle_event, []}
    ];

get_static_event(?EVENT_GUILD_DISBAND) ->
    [
        {lib_guild_api, handle_event, []}
        , {lib_designation_api, handle_event, []}
    ];

get_static_event(?EVENT_GUILD_MERGE) ->
    [
        {lib_guild_api, handle_event, []}
    ];

get_static_event(?EVENT_USE_BUFF_GOODS) ->
    [];

get_static_event(?EVENT_PUSHMAIL_ARRIVE_TIME) ->
    [
        {lib_pushmail, handle_event, []}
    ];

%% Data:#{dun_id=DunId, dun_type=DunType, help_type=HelpType}
get_static_event(?EVENT_DUNGEON_SUCCESS) ->
    [
        %%     {lib_pushmail, handle_event, []}
        {lib_dungeon_api, handle_event, []}
        , {lib_limit_goal_api, handle_event, []}
        , {custom_act_personal, handle_event, []}
        %, {lib_guild_order_mod, handle_event, []}
    ];

get_static_event(?EVENT_DUNGEON_FAIL) ->
    [
        {lib_dungeon_api, handle_event, []}
    ];

get_static_event(?EVENT_PUSHMAIL_OPEN_DAY) ->
    [
        {lib_pushmail, handle_event, []}
    ];

%% 充值后会执行的操作
get_static_event(?EVENT_RECHARGE) ->
    [
        {lib_red_envelopes, handle_event, []}
        , {lib_supplication_api, handle_event, []}
        , {lib_custom_act_api, handle_event, []}
        , {lib_vip_api, handle_event, []}
        , {lib_role_visus, handle_event, []}
        , {lib_sup_vip, handle_event, []}
        , {lucky_cat, handle_event, []}
        , {custom_act_small_recharge, handle_event, []}
        , {custom_act_personal, handle_event,[]}
        , {custom_act_mobilize, handle_event,[]}
        , {custom_act_mono_poly, handle_event, []}
        , {lib_vie_rank, handle_event, []}
        , {surprise_red_packet, handle_event, []}
        , {lib_custom_act_loans, handle_event, []}
        , {custom_act_days_plan, handle_event, []}
        , {lib_great_rewards, handle_event, []}
        , {lib_seven_days_goal, handle_event, []}
    ];

%% data:OnlineFlag
%% 该事件修改PS无效
get_static_event(?EVENT_ONLINE_FLAG) ->
    [
        {lib_guild_api, handle_event, []}
        , {lib_relationship_api, handle_event, []}
        , {lib_role_api, handle_event, []}
        , {lib_common_rank_api, handle_event, []}
        , {lib_team_api, handle_event, []}
    ];

get_static_event(?EVENT_VIP) ->
    [
        % {lib_relationship_api, handle_event, []}
        {lib_role_api, handle_event, []}
        , {lib_player, handle_event, []}
        , {lib_red_envelopes, handle_event, []}
        , {lib_vip_bag_onsale, handle_event, []}
        , {lib_role_visus, handle_event,[]}
        , {lib_skill, handle_event,[]}
        , {custom_act_personal, handle_event,[]}
        , {lib_dungeon_pet, handle_event, []}
        , {guild_war_api, handle_event, []}
        , {lib_guild_race_rank, handle_event, []}
        , {custom_act_hope_gift, handle_event, []}
        , {wasteland_war_api, handle_event, []}
        , {madness_land_api, handle_event, []}
        , {lib_guild_api, handle_event, []}
        , {beauty_contest_api, handle_event, []}
        , {mod_military_rank_mgr, handle_event, []}
        , {custom_act_jump_act, handle_event, []}
        , {custom_act_mobilize, handle_event, []}
    ];

get_static_event(?EVENT_VIP_TIME_OUT) ->
    [
        {lib_player, handle_event, []}
        ,{lib_skill, handle_event, []}
    ];

get_static_event(?EVENT_SUP_VIP_CHANGE) ->
    [
        {fast_exp_drop, handle_event, []}
        , {lib_dungeon_pet, handle_event, []}
        , {guild_war_api, handle_event, []}
        , {lib_guild_race_rank, handle_event, []}
        , {wasteland_war_api, handle_event, []}
        , {madness_land_api, handle_event, []}
        , {beauty_contest_api, handle_event, []}
        , {mod_military_rank_mgr, handle_event, []}
        , {custom_act_jump_act, handle_event, []}
        , {lib_sup_vip, handle_event, []}
    ];

get_static_event(?EVENT_REVIVE) ->
    [
        {lib_dungeon_api, handle_event, []},
        {local_boss_api, handle_event, []}
        ,{offline_hosting_wasteland_war, handle_event, []}
        ,{wasteland_war_api, handle_event, []}
        ,{mod_guild_boss_mgr, handle_event, []}
    ];

get_static_event(?EVENT_ADD_FRIEND) ->
    [
        {lib_guild_api, handle_event, []}
    ];

get_static_event(?EVENT_PARTICIPATE_ACT) ->
    [
        {lib_resource_back, handle_event, []}
    ];

get_static_event(?EVENT_GIVE_GOODS) ->
    [
        {lib_goods_do, handle_event, []}
        , {lib_fishing, handle_event, []}
    ];

get_static_event(?EVENT_ADD_LIVENESS) ->
    [
        {lib_guild_api, handle_event, []}
        , {lib_supplication_api, handle_event, []}
        , {custom_act_personal, handle_event,[]}
        , {custom_act_mobilize, handle_event,[]}
        , {custom_act_days_plan, handle_event,[]}
        , {lib_child_api, handle_event,[]}
    ];

get_static_event(?EVENT_LIVENESS_LV) ->
    [
        {lib_role_visus, handle_event, []}
    ];

get_static_event(?EVENT_RENAME) ->
    [
        %{lib_common_rank_api, handle_event, []}
        % {lib_relationship_api, handle_event, []}
        {lib_guild_api, handle_event, []}
        % , {lib_team_api, handle_event, []}
        , {lib_role_api, handle_event, []}
        , {mate_api, handle_event, []}
        , {lib_dungeon_pet, handle_event, []}
        , {lib_guild_race_rank, handle_event, []}
        , {wasteland_war_api, handle_event, []}
        , {madness_land_api, handle_event, []}
        , {beauty_contest_api, handle_event, []}
        , {mod_military_rank_mgr, handle_event, []}
        , {custom_act_jump_act, handle_event, []}
        , {boss_first_blood_logic, handle_event, []}
    ];

%% 穿戴装备
%% #event_callback.data :: #goods{}
get_static_event(?EVENT_EQUIP) ->
    [
    ];

%% 参与击杀本服BOSS
get_static_event(?EVENT_KILL_LOCAL_BOSS) ->
    [
        {local_boss_api, handle_event, []}
    ];

%% 参与赏金BOSS击杀
get_static_event(?EVENT_REWARD_BOSS_PART) ->
    [
        {local_boss_api, handle_event, []}
    ];

%% 世界BOSS最后一击
get_static_event(?EVENT_WORLD_BOSS_LAST_HIT) ->
    [
        {local_boss_api, handle_event, []}
    ];


%% 羁绊结交
get_static_event(?EVENT_BE_MATE) ->
    [
    ];

%% 羁绊解除
get_static_event(?EVENT_RELIEVE_MATE) ->
    [
    ];

%% 拾取掉落
%% #event_callback.data :: object_list
%% object_list          :: [{object_type, goods_id, goods_num}]
get_static_event(?EVENT_DROP_CHOOSE) ->
    [
        {local_boss_api, handle_event, []},
        {lib_treasure_map, handle_event, []}
    ];


get_static_event(?EVENT_AUCTION_SUCCESS) ->
    [
    ];

%% 完成任务事件
get_static_event(?EVENT_FINISH_TASK) ->
    [
        {lib_role_visus,handle_event,[]}
        , {lib_module_advance, handle_event, []}
        , {contract_task_api, handle_event, []}
        , {custom_act_personal, handle_event, []}
        , {lib_child_api, handle_event, []}
        , {lib_role_foster, handle_event, []}
    ];

%% 加入公会
get_static_event(?EVENT_JOIN_GUILD) ->
    [
        {lib_guild_api, handle_event, []}
        , {madness_land_api, handle_event, []}
    ];

%% 公会捐献
get_static_event(?EVENT_GUILD_DONATE) ->
    [
        {lib_task_api, handle_event, []}
    ];

%% 客户端断开连接
%% #event_callback.data :: LogoutType
%% LogoutType :: integer() 登出类型
get_static_event(?EVENT_DISCONNECT) ->
    [
        {lib_team_api, handle_event, []}
        ,{lib_dungeon_api, handle_event, []}
        ,{lib_supplication_api, handle_event, []}
        ,{lib_marble, handle_event, []}
        ,{welfare_api, handle_event, []}
        ,{local_boss_api, handle_event, []}
        ,{cross_guild_war_api,handle_event,[]}
        ,{mate_api,handle_event,[]}
        ,{guild_war_api,handle_event,[]}
        ,{custom_act_jump_act,handle_event,[]}
        ,{lib_treasure_map, handle_event, []}
        ,{guild_run_assist, handle_event, []}
        ,{mod_guild_boss_mgr, handle_event, []}
        ,{madness_land_api, handle_event, []}
    ];

%% 登录事件延后
get_static_event(?EVENT_LOGIN_CAST) ->
    [
        {lib_vip_api, handle_event, []},
        {lib_dungeon_api, handle_event, []},
        {lib_team_api, handle_event, []},
        {lib_task_api, handle_event, []},
        {comeback, handle_event, []},
        {lib_limit_goal_api, handle_event, []},
        {lib_supplication_api, handle_event, []},
        {lib_daily_power_up, handle_event, []},
        {lib_role_foster,handle_event,[]},
        {lib_guild_api,handle_event,[]},
        {lib_marble, handle_event, []},
        {lib_pet_api, handle_event, []},
        {lib_exp_dun_drop, handle_event, []},
        {lib_guild_support_mod, handle_event, []},
        {welfare_api, handle_event, []},
        {lib_login_reward,handle_event,[]},
        {fast_exp_drop, handle_event, []},
        {lib_sup_vip, handle_event, []}
        , {custom_act_personal, handle_event,[]}
        , {lib_lattice_shop, handle_event, []}
        , {custom_act_circle_foster, handle_event, []}
        , {custom_act_small_recharge, handle_event, []}
        , {lib_role_god_dun, handle_event, []}
        , {custom_act_single_recharge, handle_event, []}
        , {custom_act_mono_poly, handle_event, []}
        , {lib_custom_act_investment,handle_event,[]}
        , {sign_reward,handle_event,[]}
        , {lib_flower, handle_event, []}
        , {lib_custom_act_loans, handle_event, []}
        , {lib_dungeon_visus, handle_event, []}
        , {lib_child_api, handle_event, []}
        , {permit_login, handle_event, []}
        , {custom_unite_buff, handle_event, []}
        , {lib_role_legion,handle_event,[]}
        , {lib_role_task,handle_event,[]}
        , {guild_run_assist,handle_event,[]}
        , {lib_role_visus,handle_event,[]}
        , {visus_dun_rank,handle_event,[]}
        , {lib_dungeon_tower,handle_event,[]}
        , {custom_act_contract,handle_event,[]}
    ];

%% 私聊
get_static_event(?EVENT_CHAT_PRIVATE) ->
    [
        {lib_relationship_api, handle_event, []}
    ];

%% 消耗金钱后执行事件
get_static_event(?EVENT_MONEY_CONSUME) ->
    [
        {lib_custom_act_api, handle_event, []}
        ,{lib_vie_rank, handle_event, []}
        ,{lib_great_rewards, handle_event, []}
        ,{custom_act_mobilize, handle_event, []}
    ];

%% 转生成功
get_static_event(?EVENT_TURN_UP) ->
    [
        {lib_guild_api, handle_event, []}
        , {lib_role_api, handle_event, []}
        , {lib_limit_goal_api, handle_event, []}
        , {beauty_contest_api, handle_event, []}
        , {lib_player, handle_event, []}
        , {lib_seven_days_goal, handle_event, []}
        , {lib_task_api, handle_event, []}
    ];

%% 准备切换场景
get_static_event(?EVENT_PREPARE_CHANGE_SCENE) ->
    [
        {lib_fishing, handle_event, []}
    ];

%% 完成场景的切换
get_static_event(?EVENT_FIN_CHANGE_SCENE) ->
    [
        {lib_team_api, handle_event, []},
        {local_boss_api, handle_event, []},
        {lib_dungeon_api, handle_event, []},
        {lib_guild_support_mod, handle_event, []},
        {guild_war_api, handle_event, []},
        {madness_land_api, handle_event, []},
        {wasteland_war_api, handle_event, []},
        {custom_act_jump_act,handle_event,[]},
        {cross_guild_war_api,handle_event,[]},
        {convoy_api, handle_event, []},
        {mod_guild_boss_mgr, handle_event, []}
        ,{exp_sea_logic, handle_event, []}
    ];

%% 客户端登录完成(注：首次完成场景的切换代表客户端登录完成)
get_static_event(?EVENT_CLIENT_LOGIN_SUCCESS) ->
    [
        {lib_goods_do, handle_event, []},
        {lib_player, handle_event, []},
        {mate_api, handle_event, []},
        {lib_pet_api, handle_event, []},
        {puzzle, handle_event, []}
        ,{mod_military_rank_mgr, handle_event, []}
        ,{sakura_gift, handle_event, []}
        ,{lib_relationship_api, handle_event, []}
        ,{lib_dress_up, handle_event, []}
        ,{lib_wardrobe, handle_event, []}
        ,{lib_role_uranium, handle_event, []}
        ,{lib_skill, handle_event, []},
        {custom_act_mobilize, handle_event, []}
        ,{lib_child_api, handle_event, []}
    ];

%% 副本次数改变
%% #event_callback.data :: #callback_dungeon_count{}
get_static_event(?EVENT_DUNGEON_COUNT_CHANGE) ->
    [
    ];

%% 获得物品列表
get_static_event(?EVENT_GIVE_GOODS_LIST) ->
    [
        {lib_goods_do, handle_event, []}
    ];

%% 链接跨服中心成功
get_static_event(?EVENT_CENTER_CONNECTED) ->
    [
        {lib_player, handle_event, []},
        {lib_task_api, handle_event, []}
    ];

%% 与跨服中心断开链接
get_static_event(?EVENT_CENTER_DISCONNECT) ->
    [
        {lib_player, handle_event, []},
        {lib_task_api, handle_event, []}
    ];

%% 取消社团协助
get_static_event(?EVENT_CANCEL_SUPPORT) ->
    [
        {local_boss_api, handle_event, []}
    ];

get_static_event(?EVENT_FOSTER_GRADE_UP)->
    [
        {custom_act_circle_foster, handle_event, []}
        , {custom_act_personal, handle_event,[]}
        , {lib_role_task, handle_event,[]}
    ];

get_static_event(?EVENT_FOSTER_GRADE_STAR_UP)->
    [
        {custom_act_circle_foster, handle_event, []}
    ];

get_static_event(?EVENT_FOSTER_LV_UP)->
    [
        {custom_act_circle_foster, handle_event, []}
    ];

%% 跨服即将分区事件
get_static_event(?EVENT_CZONE_NOTICE_REZONE)->
    [
        %{lib_task_api, handle_event, []}
    ];

%% 跨服分区完成事件
get_static_event(?EVENT_CZONE_REZONE_FINSIH)->
    [
        %{lib_task_api, handle_event, []}
        {czone_api, handle_event, []}
    ];

%% 头像框等装扮改变
get_static_event(?EVENT_DRESS_UP_CHANGE) ->
    [
        {madness_land_api, handle_event, []}
        , {custom_act_jump_act, handle_event, []}
    ];

%% 登录时候处于托管状态
get_static_event(?EVENT_HOSTING_DUMMY_LOGIN) ->
    [
        {offline_hosting_wasteland_war, handle_event, []}
    ];

get_static_event(_Event) ->
    [].
