%%% -------------------------------------------------------
|
|
%%% @doc
|
|
%%% @end
|
|
%%% -------------------------------------------------------
|
|
-ifndef(CLUSTERS_ZONE_HRL).
|
|
-define(CLUSTERS_ZONE_HRL, ok).
|
|
|
|
%% 分区类型
|
|
-define(SMALL_ZONE_TYPE, 1). %% 分区类型:小型分区
|
|
-define(MEDIUM_ZONE_TYPE, 2). %% 分区类型:中型分区
|
|
-define(LARGE_ZONE_TYPE, 3). %% 分区类型:大型分区
|
|
-define(ZONE_TYPE_LIST, [?SMALL_ZONE_TYPE, ?MEDIUM_ZONE_TYPE, ?LARGE_ZONE_TYPE]).
|
|
|
|
-define(ZONE_MAX_SERVER_NUM(ZoneType), %% 每个分区游戏服数量
|
|
data_clusters_zone:get_zone_max_server_num(ZoneType)).
|
|
|
|
-define(ETS_ZONE_ROUTE, ets_zone_route).
|
|
%% 分区路由信息表
|
|
-record(zone_route, {
|
|
key = {0, 0}, %% 路由主键 {zone_type :: 分区类型, server_id :: 服务器id}
|
|
zone = 0 %% 分区
|
|
}).
|
|
|
|
-record(zone_base, {
|
|
server_id = 0, %% 每一个服的id(主服)
|
|
zone = 0, %% 区id
|
|
time = 0, %% 开服时间
|
|
world_lv = 0, %% 世界等级
|
|
merge_ids = [] %% 每一个服的所有合服id
|
|
}).
|
|
|
|
-record(clusters_zone, {
|
|
zone_type = 0, %% 分区类型
|
|
zones = [], %% 所有的分区(只保存主服的server_id信息) [#zone_base{}]
|
|
next = 1, %% 下一个分区id
|
|
is_zone = 0, %% 是否已经分区(10分钟后分区设置为1,后续加入进来的服直接添加到最后分区)
|
|
ref = undefined %% 分区定时器
|
|
}).
|
|
|
|
-endif.
|