using CommonLang.Property;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CommonAIServer.Node
{
    public class ZoneNodeConfig
    {
        [Desc("主游戏更新时间 - 重要,位置更新等", "MAIN")]
        public int GAME_UPDATE_INTERVAL_MS = 500;

        [Desc("主游戏更新时间 - 普通 - AOI视野", "MAIN")]
        public int GAME_LOWLV_UPDATE_INTERVAL_MS = 500;

        [Desc("客户端消息同步范围(进视野)", "AOI")]
        public int CLIENT_SYNC_OBJECT_IN_RANGE = 15;
        [Desc("客户端消息同步范围(出视野)", "AOI")]
        public int CLIENT_SYNC_OBJECT_OUT_RANGE = 20;

        [Desc("是否测试", "TEST")]
        public bool TEST = true;
        [Desc("每隔多少时间发送服务器状态(ms)", "TEST")]
        public int TEST_POST_SERVER_INFO_INTERVAL_MS = 5000;

        public virtual ZoneNodeConfig Clone()
        {
            ZoneNodeConfig cfg = new ZoneNodeConfig();
            cfg.GAME_UPDATE_INTERVAL_MS = this.GAME_UPDATE_INTERVAL_MS;
            cfg.GAME_LOWLV_UPDATE_INTERVAL_MS = this.GAME_LOWLV_UPDATE_INTERVAL_MS;
            cfg.CLIENT_SYNC_OBJECT_IN_RANGE = this.CLIENT_SYNC_OBJECT_IN_RANGE;
            cfg.CLIENT_SYNC_OBJECT_OUT_RANGE = this.CLIENT_SYNC_OBJECT_OUT_RANGE;
            cfg.TEST = this.TEST;
            cfg.TEST_POST_SERVER_INFO_INTERVAL_MS = this.TEST_POST_SERVER_INFO_INTERVAL_MS;
            return cfg;
        }
    }
}