源战役
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
1.6 KiB

  1. %%% -------------------------------------------------------
  2. %%% @doc
  3. %%% @end
  4. %%% -------------------------------------------------------
  5. -ifndef(CLUSTERS_ZONE_HRL).
  6. -define(CLUSTERS_ZONE_HRL, ok).
  7. %% 分区类型
  8. -define(SMALL_ZONE_TYPE, 1). %% 分区类型:小型分区
  9. -define(MEDIUM_ZONE_TYPE, 2). %% 分区类型:中型分区
  10. -define(LARGE_ZONE_TYPE, 3). %% 分区类型:大型分区
  11. -define(ZONE_TYPE_LIST, [?SMALL_ZONE_TYPE, ?MEDIUM_ZONE_TYPE, ?LARGE_ZONE_TYPE]).
  12. -define(ZONE_MAX_SERVER_NUM(ZoneType), %% 每个分区游戏服数量
  13. data_clusters_zone:get_zone_max_server_num(ZoneType)).
  14. -define(ETS_ZONE_ROUTE, ets_zone_route).
  15. %% 分区路由信息表
  16. -record(zone_route, {
  17. key = {0, 0}, %% 路由主键 {zone_type :: 分区类型, server_id :: 服务器id}
  18. zone = 0 %% 分区
  19. }).
  20. -record(zone_base, {
  21. server_id = 0, %% 每一个服的id(主服)
  22. zone = 0, %% 区id
  23. time = 0, %% 开服时间
  24. world_lv = 0, %% 世界等级
  25. merge_ids = [] %% 每一个服的所有合服id
  26. }).
  27. -record(clusters_zone, {
  28. zone_type = 0, %% 分区类型
  29. zones = [], %% 所有的分区(只保存主服的server_id信息) [#zone_base{}]
  30. next = 1, %% 下一个分区id
  31. is_zone = 0, %% 是否已经分区(10分钟后分区设置为1,后续加入进来的服直接添加到最后分区)
  32. ref = undefined %% 分区定时器
  33. }).
  34. -endif.