%%-----------------------------------------------------------------------------
|
|
%% @Module : battle_field.hrl
|
|
%% @Author : J
|
|
%% @Email : j-som@foxmail.com
|
|
%% @Created : 2017-12-01
|
|
%% @Description: 战场
|
|
%%-----------------------------------------------------------------------------
|
|
|
|
%% 战场进入状态
|
|
-define(ROLE_STATE_OUT, 0). %% 不在战场中
|
|
-define(ROLE_STATE_BEFORE_IN, 1). %% 已经调用了change_scene但是还没有触发finish_change_scene
|
|
-define(ROLE_STATE_IN, 2). %% 正在战场中
|
|
|
|
%% 在线状态
|
|
-define(ONLINE_STATE_OFF, 0). %% 在线状态:离线
|
|
-define(ONLINE_STATE_ON, 1). %% 在线状态:在线
|
|
|
|
-define(ETS_ROLE_BATTLE_PID, ets_role_battle_pid). %% 玩家战场pid(主要用于断线重连)
|
|
|
|
-define(HAS_API(Mod, ApiName, ArgsNum), lists:member({ApiName, ArgsNum}, Mod:module_info(exports))).
|
|
|
|
-record(battle_state, {
|
|
lib = lib_battle_field,
|
|
cur_scene = 0,
|
|
scene_pool_id = 0,
|
|
copy_id = 0,
|
|
data = #{},
|
|
roles = #{},
|
|
is_end = false,
|
|
self = undefined
|
|
}).
|
|
|
|
-record(battle_role, {
|
|
key= undefined,
|
|
out_info = #{}, %% #{scene := SceneId, scene_pool_id := ScenePoolId, copy_id := CopyId, x := X, y := Y, scene_args := []}
|
|
in_info = #{}, %% #{x := X, y := Y, scene_args := []}
|
|
state = ?ROLE_STATE_OUT,
|
|
online_state = ?ONLINE_STATE_ON,
|
|
data = #{}
|
|
}).
|
|
|
|
-record(role_battle_pid, {
|
|
id = 0, %% 玩家id
|
|
pid = none %% 战斗pid
|
|
}).
|