104 lines
2.9 KiB
Lua
104 lines
2.9 KiB
Lua
|
|
||
|
------------------------------------------------
|
||
|
--作者: _SqL_
|
||
|
--日期: 2019-05-08
|
||
|
--文件: FactionSkillSystem.lua
|
||
|
--模块: FactionSkillSystem
|
||
|
--描述: 宗派技能系统
|
||
|
------------------------------------------------
|
||
|
|
||
|
local FactionSkillSystem = {
|
||
|
-- 是否打开界面
|
||
|
OpenForm = false,
|
||
|
-- 是否刷新宗派技能信息
|
||
|
Refresh = false,
|
||
|
-- 技能列表
|
||
|
SkillList = List:New(),
|
||
|
-- 技能的 最大等级
|
||
|
SkillMaxLvDic = Dictionary:New(), -- 技能的最大等级
|
||
|
}
|
||
|
|
||
|
function FactionSkillSystem:Initialize()
|
||
|
DataConfig.DataGuildCollege:Foreach(function(k, v)
|
||
|
if v.NextLevelID == 0 then
|
||
|
self.SkillMaxLvDic[v.Type] = v.Level
|
||
|
end
|
||
|
end)
|
||
|
end
|
||
|
|
||
|
function FactionSkillSystem:UnInitialize()
|
||
|
self.SkillList:Clear()
|
||
|
self.SkillMaxLvDic:Clear()
|
||
|
end
|
||
|
|
||
|
-- 获取技能的最大等级
|
||
|
function FactionSkillSystem:GetSkillMaxLv(id)
|
||
|
return self.SkillMaxLvDic[id]
|
||
|
end
|
||
|
|
||
|
-- 获取技能的id
|
||
|
function FactionSkillSystem:GetSkillIdByType(t)
|
||
|
for i = 1, #self.SkillList do
|
||
|
local _cfg = DataConfig.DataGuildCollege[self.SkillList[i]]
|
||
|
if _cfg.Type == t then
|
||
|
return _cfg.Id
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
-- 获取技能列表
|
||
|
function FactionSkillSystem:GetSkillList()
|
||
|
return self.SkillList
|
||
|
end
|
||
|
|
||
|
-- 检测是有否有可升级的技能
|
||
|
function FactionSkillSystem:CheckUpgreadSkill()
|
||
|
local _guildMoney = GameCenter.ItemContianerSystem:GetEconomyWithType(ItemTypeCode.UnionContribution)
|
||
|
for i = 1, #self.SkillList do
|
||
|
local _cfg = DataConfig.DataGuildCollege[self.SkillList[i]]
|
||
|
local _value = tonumber(Utils.SplitStr(_cfg.LearningConsumption,"_")[2])
|
||
|
if _value <= _guildMoney then
|
||
|
return true
|
||
|
end
|
||
|
end
|
||
|
return false
|
||
|
end
|
||
|
|
||
|
-- 宗派技能列表返回
|
||
|
function FactionSkillSystem:GS2U_ResFactionSkills(msg)
|
||
|
if msg.skills then
|
||
|
self.SkillList:Clear()
|
||
|
for i = 1, #msg.skills do
|
||
|
self.SkillList:Add(msg.skills[i])
|
||
|
end
|
||
|
table.sort( self.SkillList, function(a, b)
|
||
|
return a < b
|
||
|
end)
|
||
|
end
|
||
|
if self.OpenForm then
|
||
|
GameCenter.PushFixEvent(UIEventDefine.UIFactionSkillForm_OPEN)
|
||
|
self.OpenForm = false
|
||
|
end
|
||
|
if self.Refresh then
|
||
|
GameCenter.PushFixEvent(LogicLuaEventDefine.EID_EVENT_REFRESH_FACTIONSKILLS)
|
||
|
GameCenter.PushFixEvent(LogicLuaEventDefine.EID_EVENT_REFRESH_FACTIONSKILLINFO)
|
||
|
self.Refresh = false
|
||
|
end
|
||
|
-- GameCenter.MainFunctionSystem:SetAlertFlag(FunctionStartIdCode.GuildSkill, self:CheckUpgreadSkill())
|
||
|
end
|
||
|
|
||
|
-- 研究技能 (id=0 一键研究)
|
||
|
function FactionSkillSystem:ReqStudyFactionSkill(id)
|
||
|
self.Refresh = true
|
||
|
local _req = {}
|
||
|
_req.id = id
|
||
|
GameCenter.Network.Send("MSG_Guild.ReqLearnSkill", _req)
|
||
|
end
|
||
|
|
||
|
-- 请求技能列表
|
||
|
function FactionSkillSystem:ReqFactionSkilList()
|
||
|
self.OpenForm = true
|
||
|
GameCenter.Network.Send("MSG_Guild.ReqPlayerLearnSkills",{})
|
||
|
end
|
||
|
|
||
|
return FactionSkillSystem
|