local GuildCultivation_Model = {} local private = {} local EventSystem = require('Event/EventSystem') local guild_cultivate_pb = require 'Proto.guild_cultivate_pb' function GuildCultivation_Model.OnStartup() NetManager.RegisterMsgCB(MessageEnums.MessageGuildCultivateOpen, private.GuildCultivateOpenResp) NetManager.RegisterMsgCB(MessageEnums.MessageGuildCultivateUpLevel, private.GuildCultivateUpLevelResp) private.guildCultivationInfoDict = {} private.guildCultivationInfoList = {} end function GuildCultivation_Model.GetGuildCultivationInfoList() return private.guildCultivationInfoList end function GuildCultivation_Model.GetGuildCultivationInfoById(id) return private.guildCultivationInfoDict[id] or 0 end function GuildCultivation_Model.SetGuildCultivationInfo(info) private.guildCultivationInfoList = info for i, v in ipairs(info) do private.guildCultivationInfoDict[v.cultivateId] = v.level end EventSystem.Dispatch(EventID.UI_GuildCultivateInfoRefresh) EventSystem.Dispatch(EventID.UI_Guild_WelfareRefresh) end function GuildCultivation_Model.GuildCultivateOpenReq() local msg = guild_cultivate_pb.GuildCultivateOpenReq() NetManager.SendMessage(MessageEnums.MessageGuildCultivateOpen, msg) end function private.GuildCultivateOpenResp(msgResp) if msgResp.Resp.Code == 0 then GuildCultivation_Model.SetGuildCultivationInfo(msgResp.cultivateInfos) UIManager.OpenView(Const_UI_Lua.UIEnum.UIGuildCultivationMain) end end function GuildCultivation_Model.GuildCultivateUpLevelReq(cultivateId) local msg = guild_cultivate_pb.GuildCultivateUpLevelReq() msg.cultivateId = cultivateId NetManager.SendMessage(MessageEnums.MessageGuildCultivateUpLevel, msg) end function private.GuildCultivateUpLevelResp(msgResp) if msgResp.Resp.Code == 0 then GuildCultivation_Model.SetGuildCultivationInfo(msgResp.cultivateInfos) EventSystem.Dispatch(EventID.UI_GuildCultivateSkillLevelUp) end end return GuildCultivation_Model