package com.game.gameServer.io;

import net.sf.json.JSONObject;

/**
 * IO 配置
 *
 * @author hjj2019
 * @since 2015/7/1
 *
 */
public final class IoConf {
    /** 单例对象 */
    public static final IoConf OBJ = new IoConf();
    /** 最大战斗线程数 */
    public int _maxBattleThreadNum = 4;
    /** 最大登陆线程数 */
    public int _maxLoginThreadNum = 8;
    /** 最大玩家或场景线程数 */
    public int _maxGamePlayerOrSceneThreadNum = 4;

    /**
     * 类默认构造器
     *
     */
    private IoConf() {
    }

    /**
     * 从 JSON 对象中读取配置
     *
     * @param jsonObj
     *
     */
    public void readFromJson(JSONObject jsonObj) {
        if (jsonObj == null ||
            jsonObj.isEmpty()) {
            return;
        }

        // 最大战斗线程数量
        this._maxBattleThreadNum = jsonObj.optInt("maxBattleThreadNum", this._maxBattleThreadNum);
        // 最大登陆线程数量
        this._maxLoginThreadNum = jsonObj.optInt("maxLoginThreadNum", this._maxLoginThreadNum);
        // 最大玩家或场景线程数
        this._maxGamePlayerOrSceneThreadNum = jsonObj.optInt("maxGamePlayerOrSceneThreadNum", this._maxGamePlayerOrSceneThreadNum);
    }

    /**
     * 获取战斗线程索引
     *
     * @param bindUUId
     * @return
     *
     */
    int getBattleThreadIndex(long bindUUId) {
        if (bindUUId <= 0) {
            // 如果参数对象为空,
            // 则直接退出!
            return 0;
        } else {
            // 获取余数
            return (int) (bindUUId & 0xFFFF) % this._maxBattleThreadNum;
        }
    }

    /**
     * 获取登陆线程索引
     *
     * @param bindUUId
     * @return
     *
     */
    int getLoginThreadIndex(long bindUUId) {
        if (bindUUId <= 0) {
            // 如果参数对象为空,
            // 则直接退出!
            return 0;
        } else {
            // 获取余数
            return (int) (bindUUId & 0xFFFF) % this._maxLoginThreadNum;
        }
    }

    /**
     * 获取玩家或场景线程索引
     *
     * @param bindUUId
     * @return
     *
     */
    int getPlayerOrSceneThreadIndex(long bindUUId) {
        if (bindUUId <= 0) {
            // 如果参数对象为空,
            // 则直接退出!
            return 0;
        } else {
            // 获取余数
            return (int) (bindUUId & 0xFFFF) % this._maxGamePlayerOrSceneThreadNum;
        }
    }
}

@@ -1130,36 +1130,35 @@
   * @param bindU
-U
 Id%0A
+
      * @return%0A 
@@ -1202,33 +1202,32 @@
 Index(long bindU
-U
 Id) %7B%0A        if
@@ -1225,33 +1225,32 @@
        if (bindU
-U
 Id %3C= 0) %7B%0A     
@@ -1373,33 +1373,32 @@
 urn (int) (bindU
-U
 Id & 0xFFFF) %25 t
@@ -1481,33 +1481,32 @@
   * @param bindU
-U
 Id%0A     * @retur
@@ -1552,33 +1552,32 @@
 Index(long bindU
-U
 Id) %7B%0A        if
@@ -1575,33 +1575,32 @@
        if (bindU
-U
 Id %3C= 0) %7B%0A     
@@ -1723,33 +1723,32 @@
 urn (int) (bindU
-U
 Id & 0xFFFF) %25 t
@@ -1841,17 +1841,16 @@
 am bindU
-U
 Id%0A     
@@ -1920,17 +1920,16 @@
 ng bindU
-U
 Id) %7B%0A  
@@ -1943,17 +1943,16 @@
 f (bindU
-U
 Id %3C= 0)
@@ -2052,32 +2052,32 @@
         // %E8%8E%B7%E5%8F%96%E4%BD%99%E6%95%B0%0A
+
             retu
@@ -2091,17 +2091,16 @@
 ) (bindU
-U
 Id & 0xF

修改配置文件;