local Info = {
-- 服务器id，对应Server.dat中的id
[207] = {
-- 用法同ini/info.ini中[RoleSelect]的同名变量
ViewSort = "0-1-3",
ViewImgType = "0-0-0",
ViewOffset = "-70,-95,-120",
ViewParam = "0-1-4-5-2-3"
},
-- 服务器id，对应Server.dat中的id
[205] = {
-- 用法同ini/info.ini中[RoleSelect]的同名变量
ViewSort = "0-1-3-8",
ViewImgType = "0-0-0-0",
ViewOffset = "-70,-95,-120,-80",
ViewParam = "0-1-4-5-2-3-16-17"
},
-- 服务器id，对应Server.dat中的id
[302] = {
-- 用法同ini/info.ini中[RoleSelect]的同名变量
ViewSort = "0-1-8-9-7-2-4-5-3-6",
ViewImgType = "0-0-0-0-0-0-0-0-0-0",
ViewOffset = "-70,-95,-120,-80,-70,-70,-70,-70,-70,-70",
ViewParam = "0-1-4-5-2-3-16-17-20-21-12-13-14-15-10-11-8-9-6-7"
},
-- 服务器type类型，按位运算
-- 0,
-- 1,		//怀旧版本服务器
-- 1 << 1,	//不可交易版本服务器
-- 1 << 2,	//金币服务器
-- 1 << 3,	//新服
-- 1 << 4,	//激情服
-- 1 << 5,	//搏奕服
-- 1 << 6,	// 暴爽新服
-- 1 << 7,	// 激情新服
-- 1 << 8,	// 老兵服
-- 服务器type类型
[256] = {
-- 用法同ini/info.ini中[RoleSelect]的同名变量
-- ViewParam对应职业ViewSort的索引，一个ViewSort是对应2个ViewParam，比如职业6对应8和9（因为职业有男女）职业7对应6和7
-- ViewImgType对应职业ViewSort，为该职业显示的立绘种类：0，通用；1，老兵服
ViewSort = "6-7-1-0-3",
ViewImgType = "1-1-1-1-1",
ViewOffset = "-70,-60,-55,-55,-60",
ViewParam = "8-9-6-7-4-5-0-1-2-3",
},
[264] = {
-- 用法同ini/info.ini中[RoleSelect]的同名变量
-- ViewParam对应职业ViewSort的索引，一个ViewSort是对应2个ViewParam，比如职业6对应8和9（因为职业有男女）职业7对应6和7
-- ViewImgType对应职业ViewSort，为该职业显示的立绘种类：0，通用；1，老兵服
ViewSort = "6-7-1-0-3",
ViewImgType = "1-1-1-1-1",
ViewOffset = "-70,-60,-55,-55,-60",
ViewParam = "8-9-6-7-4-5-0-1-2-3",
},


-- 服务器type类型
[512] = {
-- 用法同ini/info.ini中[RoleSelect]的同名变量
-- ViewParam对应职业ViewSort的索引，一个ViewSort是对应2个ViewParam，比如职业6对应8和9（因为职业有男女）职业7对应6和7
-- ViewImgType对应职业ViewSort，为该职业显示的立绘种类：0，通用；1，老兵服
ViewSort = "6-7-1-0-3",
ViewImgType = "1-1-1-1-1",
ViewOffset = "-70,-60,-55,-55,-60",
ViewParam = "8-9-6-7-4-5-0-1-2-3",
},
[520] = {
-- 用法同ini/info.ini中[RoleSelect]的同名变量
-- ViewParam对应职业ViewSort的索引，一个ViewSort是对应2个ViewParam，比如职业6对应8和9（因为职业有男女）职业7对应6和7
-- ViewImgType对应职业ViewSort，为该职业显示的立绘种类：0，通用；1，老兵服
ViewSort = "6-7-1-0-3",
ViewImgType = "1-1-1-1-1",
ViewOffset = "-70,-60,-55,-55,-60",
ViewParam = "8-9-6-7-4-5-0-1-2-3",
},
}

-- 参数
--	SectionID，配置项title，如[301]中的301，指服务器id，对应Server.dat的id
--	KeyName，配置子项名称，如ViewSort、ViewOffset、ViewParam
-- 返回值
--	配置子项的配置参数，如ViewSort="0-1-3-8-9-2-4-5-6-7"中的字符串"0-1-3-8-9-2-4-5-6-7"
local function GetInfo(KeyName, SectionID)
	local param = Info[SectionID]
	if (param == nil) then
		return ""
	end
	local val = param[KeyName]
	if (val == nil) then
		return ""
	end

	return val
end

-- 清理变量，释放内存
local function Unload()
	RoleSelect = nil
end

-- 转职时职业限制
local RebirthInfo = {
	[256] = {
		-- 用法同ini/info.ini中[RoleSelect]的同名变量
		-- ViewParam备注：0 1道士- 4 5 弓手- 12 13海盗- 2 3勇士 - 16 17铁扇- 14 15小龙- 10 11武僧- 8 9忍者- 6 7战士- 20 21斗神
		ViewParam = "8-9-6-7-4-5-0-1-2-3",
	},
	[264] = {
		-- 用法同ini/info.ini中[RoleSelect]的同名变量
		-- ViewParam备注：0 1道士- 4 5 弓手- 12 13海盗- 2 3勇士 - 16 17铁扇- 14 15小龙- 10 11武僧- 8 9忍者- 6 7战士- 20 21斗神
		ViewParam = "8-9-6-7-4-5-0-1-2-3",
	},
	
	[512] = {
		-- 用法同ini/info.ini中[RoleSelect]的同名变量
		-- ViewParam备注：0 1道士- 4 5 弓手- 12 13海盗- 2 3勇士 - 16 17铁扇- 14 15小龙- 10 11武僧- 8 9忍者- 6 7战士- 20 21斗神
		ViewParam = "8-9-6-7-4-5-0-1-2-3",
	},
	[520] = {
		-- 用法同ini/info.ini中[RoleSelect]的同名变量
		-- ViewParam备注：0 1道士- 4 5 弓手- 12 13海盗- 2 3勇士 - 16 17铁扇- 14 15小龙- 10 11武僧- 8 9忍者- 6 7战士- 20 21斗神
		ViewParam = "8-9-6-7-4-5-0-1-2-3",
	},
}

-- 参数
--	SectionID，配置项title，服务器type类型
--	KeyName，配置子项名称，如ViewSort、ViewOffset、ViewParam
-- 返回值
--	配置子项的配置参数，如ViewSort="0-1-3-8-9-2-4-5-6-7"中的字符串"0-1-3-8-9-2-4-5-6-7"
local function GetRebirthInfo(KeyName)
	local SectionID = UserData_GetServerType()
	local param = RebirthInfo[SectionID]
	if (param == nil) then
		return ""
	end
	local val = param[KeyName]
	if (val == nil) then
		return ""
	end

	return val
end


-- 排行榜天下第一榜职业限制
local RankInfo = {
	[256] = {
		-- 用法同ini/info.ini中[RoleSelect]的同名变量
		-- ViewParam备注：0 1道士- 4 5 弓手- 12 13海盗- 2 3勇士 - 16 17铁扇- 14 15小龙- 10 11武僧- 8 9忍者- 6 7战士- 20 21斗神
		ViewParam = "8-9-6-7-4-5-0-1-2-3",
	},
	[264] = {
		-- 用法同ini/info.ini中[RoleSelect]的同名变量
		-- ViewParam备注：0 1道士- 4 5 弓手- 12 13海盗- 2 3勇士 - 16 17铁扇- 14 15小龙- 10 11武僧- 8 9忍者- 6 7战士- 20 21斗神
		ViewParam = "8-9-6-7-4-5-0-1-2-3",
	},
	
	[512] = {
		-- 用法同ini/info.ini中[RoleSelect]的同名变量
		-- ViewParam备注：0 1道士- 4 5 弓手- 12 13海盗- 2 3勇士 - 16 17铁扇- 14 15小龙- 10 11武僧- 8 9忍者- 6 7战士- 20 21斗神
		ViewParam = "8-9-6-7-4-5-0-1-2-3",
	},
	[520] = {
		-- 用法同ini/info.ini中[RoleSelect]的同名变量
		-- ViewParam备注：0 1道士- 4 5 弓手- 12 13海盗- 2 3勇士 - 16 17铁扇- 14 15小龙- 10 11武僧- 8 9忍者- 6 7战士- 20 21斗神
		ViewParam = "8-9-6-7-4-5-0-1-2-3",
	},
}

-- 参数
--	SectionID，配置项title，服务器type类型
--	KeyName，配置子项名称，如ViewSort、ViewOffset、ViewParam
-- 返回值
--	配置子项的配置参数，如ViewSort="0-1-3-8-9-2-4-5-6-7"中的字符串"0-1-3-8-9-2-4-5-6-7"
local function GetRankInfo(KeyName)
	local SectionID = UserData_GetServerType()
	local param = RankInfo[SectionID]
	if (param == nil) then
		return ""
	end
	local val = param[KeyName]
	if (val == nil) then
		return ""
	end

	return val
end

-- 竞技职业排行榜业限制
local PKProRankInfo = {
	[256] = {
		-- 3 = 勇士排行榜
		-- 4 = 战士排行榜
		-- 5 = 弓手排行榜
		-- 6 = 忍者排行榜
		-- 7 = 武僧排行榜
		-- 8 = 航海家排行榜
		-- 9 = 截拳师排行榜
		-- 10 = 水道士排行榜
		-- 11 = 火道士排行榜
		-- 12 = 铁扇门排行榜
		-- 13 = 斗神排行榜
		ProType = "6-4-5-10-11-3",
	},
	[264] = {
		-- 3 = 勇士排行榜
		-- 4 = 战士排行榜
		-- 5 = 弓手排行榜
		-- 6 = 忍者排行榜
		-- 7 = 武僧排行榜
		-- 8 = 航海家排行榜
		-- 9 = 截拳师排行榜
		-- 10 = 水道士排行榜
		-- 11 = 火道士排行榜
		-- 12 = 铁扇门排行榜
		-- 13 = 斗神排行榜
		ProType = "6-4-5-10-11-3",
	},
	
	[512] = {
		-- 3 = 勇士排行榜
		-- 4 = 战士排行榜
		-- 5 = 弓手排行榜
		-- 6 = 忍者排行榜
		-- 7 = 武僧排行榜
		-- 8 = 航海家排行榜
		-- 9 = 截拳师排行榜
		-- 10 = 水道士排行榜
		-- 11 = 火道士排行榜
		-- 12 = 铁扇门排行榜
		-- 13 = 斗神排行榜
		ProType = "6-4-5-10-11-3",
	},
	[520] = {
		-- 3 = 勇士排行榜
		-- 4 = 战士排行榜
		-- 5 = 弓手排行榜
		-- 6 = 忍者排行榜
		-- 7 = 武僧排行榜
		-- 8 = 航海家排行榜
		-- 9 = 截拳师排行榜
		-- 10 = 水道士排行榜
		-- 11 = 火道士排行榜
		-- 12 = 铁扇门排行榜
		-- 13 = 斗神排行榜
		ProType = "6-4-5-10-11-3",
	},
}

-- 参数
--	SectionID，配置项title，服务器type类型
--	KeyName，配置子项名称，如ViewSort、ViewOffset、ViewParam
-- 返回值
--	配置子项的配置参数，如ViewSort="0-1-3-8-9-2-4-5-6-7"中的字符串"0-1-3-8-9-2-4-5-6-7"
local function GetPKProRankInfo(KeyName)
	local SectionID = UserData_GetServerType()
	local param = PKProRankInfo[SectionID]
	if (param == nil) then
		return ""
	end
	local val = param[KeyName]
	if (val == nil) then
		return ""
	end

	return val
end

-- 通过require传给其他Lua脚本使用
local RoleSelect = {
	GetInfo = GetInfo,
	GetRebirthInfo = GetRebirthInfo,
	GetRankInfo = GetRankInfo,
	GetPKProRankInfo = GetPKProRankInfo,
	Unload = Unload,
}


-- C++程序使用的global函数名
RoleSelect_GetInfo = RoleSelect.GetInfo
RoleSelect_GetRebirthInfo = RoleSelect.GetRebirthInfo
RoleSelect_GetRankInfo = RoleSelect.GetRankInfo
RoleSelect_GetPKProRankInfo = RoleSelect.GetPKProRankInfo
RoleSelect_Unload = RoleSelect.Unload

-- require返回值
return RoleSelect