|
|
- require("game.proto.163.Require163")
- require("game.pet.PetModel")
- require("game.pet.PetConst")
- require("game.pet.PetBaseView")
- require("game.pet.PetTrainingView")
- require("game.pet.PetCollectionView")
- require("game.pet.PetFeedPanel")
- require("game.pet.PetSkillPanel")
- require("game.pet.PetEvolvePanel")
- require("game.pet.PetItem")
- require("game.pet.PetCollectItem")
- require("game.pet.PetAttrItem")
- require("game.pet.PetSkillItem")
- require("game.pet.PetEvolvePreView")
- require("game.pet.PetStoryView")
- require("game.pet.PetStoryItem")
- require("game.pet.PetDiamondItem")
- require("game.pet.PetDiamondChooseView")
- require("game.pet.PetEvolveSuccessView")
- require("game.pet.PetEvolveSuccessAttrItem")
- require("game.pet.PetSkillTipsView")
- require("game.pet.PetSupportChoosePetView")
- require("game.pet.PetSupportRankView")
- require("game.pet.PetSupportUnlockView")
- require("game.pet.PetSupportView")
- require("game.pet.PetSupportChooseItem")
- require("game.pet.PetSupportASItem")
- require("game.pet.PetSupportNormalItem")
- require("game.pet.PetSupportRankItem")
- require("game.pet.PetShareLookView")
- require("game.pet.PetVoteView")
- require("game.pet.PetVoteItem")
- require("game.pet.PetCollectionView")
- require("game.pet.PetAwakeItem")
- require("game.pet.PetAwakeView")
- require("game.pet.PetAwakeAttrItem")
- require("game.pet.PetCollectAttrItem")
- require("game.pet.PetCollectSkillItem")
- require("game.pet.PetShareAttrItem")
- require("game.pet.PetShareSkillItem")
- require("game.pet.PetDiamondComposeView")
- require("game.pet.PetDiamondComposeItem")
-
- PetController = PetController or BaseClass(BaseController, true)
- local PetController = PetController
-
-
- function PetController:__init()
- PetController.Instance = self
- self.model = PetModel:getInstance()
- self:AddEvents()
- self:RegisterAllProtocal()
-
- end
-
- function PetController:__delete()
- end
-
- function PetController:RegisterAllProtocal( )
- self:RegisterProtocal(16300, "Handle16300")
- self:RegisterProtocal(16301, "Handle16301")
- self:RegisterProtocal(16302, "Handle16302")
- self:RegisterProtocal(16303, "Handle16303")
- self:RegisterProtocal(16304, "Handle16304")
- self:RegisterProtocal(16305, "Handle16305")
- self:RegisterProtocal(16306, "Handle16306")
- self:RegisterProtocal(16307, "Handle16307")
- self:RegisterProtocal(16308, "Handle16308")
- self:RegisterProtocal(16309, "Handle16309")
- self:RegisterProtocal(16310, "Handle16310")
- self:RegisterProtocal(16311, "Handle16311")
- self:RegisterProtocal(16312, "Handle16312")
- self:RegisterProtocal(16313, "Handle16313")
- self:RegisterProtocal(16314, "Handle16314")
- self:RegisterProtocal(16315, "Handle16315")
- self:RegisterProtocal(16316, "Handle16316")
- self:RegisterProtocal(16317, "Handle16317")
- self:RegisterProtocal(16318, "Handle16318")
- end
-
- function PetController:AddEvents()
- local function onGameStart()
- local function onDelay()
- self.model:Fire(PetConst.REQUEST_CCMD_EVENT,16301)--请求自己的宠物数据
- self.model:Fire(PetConst.REQUEST_CCMD_EVENT,16307)--请求声援信息
- self.model:Fire(PetConst.REQUEST_CCMD_EVENT,16313)
- self.model:Fire(PetConst.REQUEST_CCMD_EVENT,16310)
- end
- setTimeout(onDelay, 2)
- end
- GlobalEventSystem:Bind(EventName.GAME_START, onGameStart)
-
- -- 满足等级后请求信息
- local function onLevelUp(level)
- if level == GetModuleOpenLevel(163) then
- self.model:Fire(PetConst.REQUEST_CCMD_EVENT,16301)--请求自己的宠物数据
- self.model:Fire(PetConst.REQUEST_CCMD_EVENT,16307)--请求声援信息
- self.model:Fire(PetConst.REQUEST_CCMD_EVENT,16313)
- self.model:Fire(PetConst.REQUEST_CCMD_EVENT,16310)
- end
- end
- RoleManager.Instance.mainRoleInfo:Bind(EventName.CHANGE_LEVEL, onLevelUp)
-
- --请求信息
- local function onRequestHandler(...)
- local args_list = {...}
- if args_list[1] == 16301 then
- self:SendFmtToGame(args_list[1])
- elseif args_list[1] == 16302 then
- self:SendFmtToGame(args_list[1],"iih",args_list[2],args_list[3],args_list[4])
- elseif args_list[1] == 16303 then
- self:SendFmtToGame(args_list[1],"ic",args_list[2],args_list[3])
- elseif args_list[1] == 16304 or args_list[1] == 16314 or args_list[1] == 16315 or args_list[1] == 16316 then
- self:SendFmtToGame(args_list[1],"i",args_list[2])
- elseif args_list[1] == 16305 then
- self:SendFmtToGame(args_list[1],"icil",args_list[2],args_list[3],args_list[4],args_list[5])
- elseif args_list[1] == 16308 then
- self:SendFmtToGame(args_list[1],"ic",args_list[2],args_list[3])
- elseif args_list[1] == 16309 then
- self:SendFmtToGame(args_list[1])
- elseif args_list[1] == 16311 then
- self:SendFmtToGame(args_list[1],"li",args_list[2],args_list[3])
- elseif args_list[1] == 16318 then
- self:SendFmtToGame(args_list[1],"ci",args_list[2],args_list[3])
- else
- self:SendFmtToGame(args_list[1])
- end
- end
- self.model:Bind(PetConst.REQUEST_CCMD_EVENT, onRequestHandler)
-
- --打开base界面
- local open_pet_view = function (index,right_tab_index)
- if self.pet_base_view == nil then
- self.pet_base_view = PetBaseView.New()
- end
- self.pet_base_view:Open(index,right_tab_index)
- end
- GlobalEventSystem:Bind(EventName.OPEN_PET_VIEW, open_pet_view)
-
- --打开进化预览界面
- local function open_pet_preview(pet_id)
- -- 特殊处理,初始化绿屏再打开
- if LoginModel.ENABLE_GREEN_SCREEN then
- CheatModel:getInstance():DisabledGreenScreenEffect(true)
- LoginModel.ENABLE_GREEN_SCREEN = true
- end
- if not self.pet_preview then
- self.pet_preview = PetEvolvePreView.New()
- end
- self.pet_preview:Open(pet_id)
- end
- self.model:Bind(PetConst.OPEN_PET_PREVIEW, open_pet_preview)
-
- --打开故事界面
- local function open_pet_story_view(pet_id)
- local story_cfg = self.model:GetPetStoryCfg(pet_id,1)
- if not story_cfg then
- Message.show("暂无故事")
- return
- end
- if not self.pet_story_view then
- self.pet_story_view = PetStoryView.New()
- end
- self.pet_story_view:Open(pet_id)
- end
- self.model:Bind(PetConst.OPEN_PET_STORY_VIEW, open_pet_story_view)
-
- --打开宝石选择界面
- local function open_diamond_choose_view(pet_id,slot_id)--宠物id、槽位id
- if not self.diamond_choose_view then
- self.diamond_choose_view = PetDiamondChooseView.New()
- end
- self.diamond_choose_view:Open(pet_id,slot_id)
- end
- self.model:Bind(PetConst.OPEN_DIAMOND_CHOOSE_VIEW, open_diamond_choose_view)
-
- --打开宠物进化成功界面
- local function open_pet_evolve_success_view(pet_id,action_type)
- if not self.pet_evolve_success_view then
- self.pet_evolve_success_view = PetEvolveSuccessView.New()
- end
- self.pet_evolve_success_view:Open(pet_id,action_type)
- end
- self.model:Bind(PetConst.OPEN_PET_EVOLVE_SUCCESS, open_pet_evolve_success_view)
-
- --打开宠物分享界面
- local function open_pet_share_view(vo)
- if not self.pet_share_look_view then
- self.pet_share_look_view = PetShareLookView.New()
- end
- self.pet_share_look_view:Open(vo)
- end
- self.model:Bind(PetConst.OPEN_PET_SHARE_VIEW, open_pet_share_view)
-
- --打开宠物技能tips界面
- local function open_pet_skill_tips(skill_data,pet_id,is_awake_skill,share_role_pet_data)
- if not self.pet_skill_tips then
- self.pet_skill_tips = PetSkillTipsView.New()
- end
- self.pet_skill_tips:Open(skill_data,pet_id,is_awake_skill,share_role_pet_data)
- end
- self.model:Bind(PetConst.OPEN_PET_SKILL_TIPS, open_pet_skill_tips)
-
- --打开声援选择宠物界面
- local function open_pet_support_choose_view(support_slot)
- if not self.pet_support_choose_view then
- self.pet_support_choose_view = PetSupportChoosePetView.New()
- end
- self.pet_support_choose_view:Open(support_slot)
- end
- self.model:Bind(PetConst.OPEN_PET_SUPPORT_CHOOSE_VIEW, open_pet_support_choose_view)
-
- --打开宠物声援排行榜界面
- local function open_pet_support_rank_view()
- if not self.pet_support_rank_view then
- self.pet_support_rank_view = PetSupportRankView.New()
- end
- self.pet_support_rank_view:Open()
- end
- self.model:Bind(PetConst.OPEN_PET_SUPPORT_RANK_VIEW, open_pet_support_rank_view)
-
- --打开宠物投票界面
- local function open_pet_vote_view()
- if not self.pet_vote_view then
- self.pet_vote_view = PetVoteView.New()
- end
- self.pet_vote_view:Open()
- end
- self.model:Bind(PetConst.OPEN_PET_VOTE_VIEW, open_pet_vote_view)
-
- --打开宠物声援位解锁界面
- local function open_support_unlock_view(support_slot)
- if not self.pet_support_unlock_view then
- self.pet_support_unlock_view = PetSupportUnlockView.New()
- end
- self.pet_support_unlock_view:Open(support_slot)
- end
- self.model:Bind(PetConst.OPEN_SUPPORT_UNLOCK_VIEW, open_support_unlock_view)
-
- --宠物相关物品数量刷新时
- local function on_goods_update( goods_sub_type )
- if goods_sub_type == 1 then--宠物碎片
- self.model:Fire(PetConst.UPDATE_RED_DOT, PetConst.RED_DOT_TYPE.Evolve)
- self.model:Fire(PetConst.UPDATE_RED_DOT, PetConst.RED_DOT_TYPE.Active)
- elseif goods_sub_type == 2 then--升级材料道具
- self.model:Fire(PetConst.UPDATE_RED_DOT, PetConst.RED_DOT_TYPE.Feed)
- elseif goods_sub_type == 3 then--技能宝石
- self.model:Fire(PetConst.UPDATE_RED_DOT, PetConst.RED_DOT_TYPE.Diamond)
- self.model:Fire(PetConst.UPDATE_RED_DOT, PetConst.RED_DOT_TYPE.DiamondCompose)
- elseif goods_sub_type == 4 then--觉醒碎片
- self.model:Fire(PetConst.UPDATE_RED_DOT, PetConst.RED_DOT_TYPE.Awake)
- end
- end
- self.model:Bind(PetConst.UPDATE_PET_GOODS_NUM, on_goods_update)
-
- local function update_red_dot_by_tab_id_func( tab_id )--主要的更新红点方法
- if not tab_id then
- self.model:IsNeedRedAll()
- else
- self.model:IsNeedRed(tab_id)
- end
- local red_dot = self.model:GetAllRedDot()
- local bool = false
- for i,v in pairs(red_dot) do
- if v then
- bool = true
- break
- end
- end
- GlobalEventSystem:Fire(EventName.SHOW_FUNCTION_RED_POINT, 163, bool)
- end
- self.model:Bind(PetConst.UPDATE_RED_DOT,update_red_dot_by_tab_id_func)
-
- --打开宠物宝石合成界面
- local function open_diamond_compose_view()
- if not self.pet_diamond_compose_view then
- self.pet_diamond_compose_view = PetDiamondComposeView.New()
- end
- self.pet_diamond_compose_view:Open()
- end
- self.model:Bind(PetConst.OPEN_PET_DIAMOND_COMPOSE_VIEW, open_diamond_compose_view)
-
-
- local function chnage_day_func(type)
- if type == SettingModel.CHANGE_DAY.HOUR_4 then
- local function delay_method( )
- self.model:Fire(PetConst.REQUEST_CCMD_EVENT,16310)
- self.model:Fire(PetConst.REQUEST_CCMD_EVENT,16313)
- end
- setTimeout(delay_method, 1)
- end
- end
- GlobalEventSystem:Bind(EventName.CHANE_DAY, chnage_day_func)
-
- end
-
-
- -- ################ 错误码展示 ################
- -- protocol=16300
- -- {
- -- s2c{
- -- errcode :int32
- -- }
- -- }
- function PetController:Handle16300( )
- local vo = SCMD16300.New(true)
- if vo then
- ErrorCodeShow(vo.errcode)
- lua_soundM:PlayEffect(self, "fault",false,LuaSoundManager.SOUND_TYPE.UI)
- end
- end
-
- -- ############## 宠物选择栏信息 ##############
- -- protocol=16301
- -- {
- -- c2s{}
- -- s2c{
- -- follow_pet :int32 //跟随的宠物Id
- -- pet_list:array{
- -- pet_id :int32 //宠物Id
- -- pet_star :int8 //宠物星级
- -- pet_lv :int16 //宠物培养等级
- -- now_exp :int32 //宠物当前经验值
- -- attr_list:array{
- -- attr_id :int8 //属性Id
- -- attr_value :int32 //属性值
- -- }
- -- power :int64 //宠物战力
- -- collect_time :int32 //宠物获得的时间
- -- is_awaken :int8 //是否已经觉醒 0-未觉醒 1-已觉醒
- -- }
- -- }
- -- }
- function PetController:Handle16301( )
- local vo = SCMD16301.New(true)
- if vo then
- self.model:SetPetList(vo)
- for k,v in pairs(vo.pet_list) do
- self.model:Fire(PetConst.REQUEST_CCMD_EVENT,16304,v.pet_id)
- end
- self.model:Fire(PetConst.UPDATE_RED_DOT)
- self.model:Fire(PetConst.UPDATE_PET_TRAINING_VIEW)--刷新宠物主界面
-
- if self.model.need_update_collect_item then
- self.model:Fire(PetConst.UPDATE_COLLECT_ITEM,self.model.need_update_collect_item)--刷新图鉴item
- self.model.need_update_collect_item = nil
- end
- end
- end
-
- -- ################# 宠物喂养 #################
- -- protocol=16302
- -- {
- -- c2s{
- -- pet_id :int32 //宠物Id
- -- feed_good_id :int32 //喂养材料Id
- -- good_num :int16 //材料数量
- -- }
- -- s2c{
- -- pet_id :int32 //宠物Id
- -- pet_lv :int16 //宠物培养等级
- -- now_exp :int32 //宠物当前经验值
- -- pet_power :int64 //宠物战力
- -- }
- -- }
- function PetController:Handle16302( )
- local vo = SCMD16302.New(true)
- if vo then
- lua_soundM:PlayEffect(self, "success",false,LuaSoundManager.SOUND_TYPE.UI)
- self.model:SetPetLvAfterFeed(vo)
- local new_data = self.model:GetPetListById(vo.pet_id)
- local new_cfg = self.model:GetPetCfg(new_data.pet_id, new_data.pet_star)
- self.model:Fire(PetConst.UPDATE_FEED_PANEL, new_data, new_cfg)--刷新升级面板
- self.model:Fire(PetConst.UPDATE_PET_FIGHT, vo.pet_power)--刷新战力显示
- self.model:Fire(PetConst.PET_FEED,vo)--刷新战力显示
- self.model:Fire(PetConst.UPDATE_RED_DOT,PetConst.RED_DOT_TYPE.Feed)
- end
- end
-
- -- ################# 宠物激活进化 #################
- -- protocol=16303
- -- {
- -- c2s{
- -- pet_id :int32 //宠物Id
- -- action_type :int8 //操作类型 1,激活 2,进化
- -- }
- -- s2c{
- -- action_type :int8 //操作类型 1,激活 2,进化
- -- pet_id :int32 //宠物Id
- -- pet_star :int8 //宠物星级
- -- pet_power :int64 //宠物战力
- -- }
- -- }
- function PetController:Handle16303( )
- local vo = SCMD16303.New(true)
- if vo then
- lua_soundM:PlayEffect(self, "success",false,LuaSoundManager.SOUND_TYPE.UI)
- if vo.action_type == 1 then--如果是激活操作,需要重新请求16301数据刷新宠物列表
- self.model:Fire(PetConst.REQUEST_CCMD_EVENT,16301)
- self.model:ActivePet(vo)--先在petlist中创建出这个宠物的位置,具体信息还是需要等16301返回
- self.model.need_update_collect_item = vo.pet_id
- -- self.model:Fire(PetConst.UPDATE_COLLECT_ITEM,vo.pet_id)--刷新图鉴item
- --自动上阵宠物
- local recent_support_slot = self.model:GetRecentSupportSlot()
- if recent_support_slot and recent_support_slot ~= 0 then
- self.model:Fire(PetConst.REQUEST_CCMD_EVENT, 16308, vo.pet_id, recent_support_slot)
- end
- -- --激活的宠物设置跟随(上阵一号位就是设置为跟随主战)
- -- self.model:Fire(PetConst.REQUEST_CCMD_EVENT, 16308, vo.pet_id, 1)
-
- --激活宠物则激活生活技能,加个事件通知
- self.model:AdvicePetLifeSkillActived(vo.pet_id)
-
- elseif vo.action_type == 2 then
- self.model:SetPetDataAfterUpStar(vo)
- self.model:Fire(PetConst.PET_EVOLVE, vo.pet_id)--宠物进化
- self.model:Fire(PetConst.UPDATE_PET_FIGHT, vo.pet_power)--刷新战力显示(激活操作直接走16301协议重新刷新整个界面)
- self.model:Fire(PetConst.UPDATE_RED_DOT,PetConst.RED_DOT_TYPE.Awake)--升星需要刷新觉醒红点
- end
- self.model:Fire(PetConst.OPEN_PET_EVOLVE_SUCCESS, vo.pet_id, vo.action_type)--打开进化成功界面
- end
- end
-
- -- ############### 宠物技能和宝石栏 #################
- -- protocol=16304
- -- {
- -- c2s{
- -- pet_id :int32 //宠物Id
- -- }
- -- s2c{
- -- pet_id :int32 //宠物Id
- -- skill_list:array{
- -- skill_slot_id :int8 //技能槽位Id
- -- talent_type :int8 //天赋类型 0,生活技能 1,普攻技能 2,宠物普通技能
- -- talent_id :int32 //天赋Id(技能Id)
- -- }
- -- diamond_list:array{
- -- diamond_slot :int8 //宝石槽位Id
- -- diamond_id :int32 //宝石Id(物品类型)
- -- }
- -- }
- -- }
- function PetController:Handle16304( )
- local vo = SCMD16304.New(true)
- if vo then
- self.model:SetPetSkillData(vo)
- self.model:SetPetDiamondData(vo)
- self.model:Fire(PetConst.UPDATE_RED_DOT,PetConst.RED_DOT_TYPE.Diamond)--刷新宝石的红点
-
- self.model:Fire(PetConst.UPDATE_PET_DIAMOND_EFFECT,vo.pet_id)
- end
- end
-
- -- ############### 宠物技能宝石镶嵌 #################
- -- protocol=16305
- -- {
- -- c2s{
- -- pet_id :int32 //宠物Id
- -- diamond_slot :int8 //技能石槽位Id
- -- diamond_id :int32 //技能石Id(物品类型)
- -- goods_id :int64 //物品Id
- -- }
- -- s2c{
- -- pet_id :int32 //宠物Id
- -- diamond_slot :int8 //技能石槽位Id
- -- diamond_id :int32 //技能石Id(物品类型)
- -- goods_id :int64 //上槽的物品Id
- -- pet_power :int64 //宠物战力
- -- }
- -- }
- function PetController:Handle16305( )
- local vo = SCMD16305.New(true)
- if vo then
- lua_soundM:PlayEffect(self, "success",false,LuaSoundManager.SOUND_TYPE.UI)
- self.model:SetPetDiamondDataAfterPut(vo)
- self.model:Fire(PetConst.UPDATE_PET_DIAMOND_CON,vo.pet_id,vo.diamond_slot)--刷新宝石栏
- self.model:Fire(PetConst.UPDATE_PET_FIGHT,vo.pet_power)--刷新战力
- self.model:Fire(PetConst.UPDATE_RED_DOT,PetConst.RED_DOT_TYPE.Diamond)--刷新宝石的红点
-
- self.model:Fire(PetConst.UPDATE_PET_DIAMOND_EFFECT,vo.pet_id)
- end
- end
-
- -- ################# 宠物跟随 ###################
- -- protocol=16306
- -- {
- -- c2s{
- -- pet_id :int32 //宠物Id
- -- }
- -- s2c{
- -- role_id :int64 //玩家角色Id
- -- pet_id :int32 //宠物Id
- -- pet_star :int8 //宠物星级
- -- is_follow :int8 //跟随状态
- -- }
- -- }
- function PetController:Handle16306( )
- local vo = SCMD16306.New(true)
- if vo then
- if vo.role_id == RoleManager.Instance:GetMainRoleId() then
- self.model:SetPetFollow(vo)
- end
- self.model:Fire(PetConst.UPDATE_SCENE_PET_MODEL,vo)
- end
- end
-
- function PetController:TestFollow1(vo)
- data = {
- role_id = RoleManager.Instance.mainRoleInfo.role_id,
- pet_id = vo.pet_id,
- is_follow = 1,
- pet_star = vo.pet_star,
- }
- self.model:Fire(PetConst.UPDATE_SCENE_PET_MODEL,data)
- end
-
- function PetController:TestFollow2( )
- vo = {
- role_id = RoleManager.Instance.mainRoleInfo.role_id,
- pet_id = 101,
- is_follow = 1,
- pet_star = 5,
- }
- self.model:Fire(PetConst.UPDATE_SCENE_PET_MODEL,vo)
- end
-
- -- ############### 宠物助战信息 ################
- -- protocol=16307
- -- {
- -- c2s{}
- -- s2c{
- -- pet_sum_star :int16 //宠物总星级
- -- pet_list:array{
- -- support_slot :int8 //声援槽位Id
- -- pet_id :int32 //宠物Id
- -- }
- -- }
- -- }
- function PetController:Handle16307( )
- local vo = SCMD16307.New(true)
- if vo then
- self.model:SetPetSupportData(vo)
- end
- end
-
- -- ################# 宠物上阵(助战) ##################
- -- protocol=16308
- -- {
- -- c2s{
- -- pet_id :int32 //宠物Id
- -- support_slot :int8 //声援槽位Id
- -- }
- -- s2c{
- -- pet_id :int32 //宠物Id
- -- support_slot :int8 //声援槽位Id
- -- old_pet_id :int32 //槽位上原有的宠物,没有则为0
- -- old_support_slot :int8 //宠物原来的槽位,没有则为0
- -- }
- -- }
- function PetController:Handle16308( )
- local vo = SCMD16308.New(true)
- if vo then
- self.model:PresentPet(vo)
- self.model:Fire(PetConst.UPDATE_SUPPORT_ITEM,vo.support_slot,vo.old_support_slot)--刷新当前槽位的声援item状态
- self.model:Fire(PetConst.UPDATE_SUPPORT_ITEM,vo.old_support_slot)--刷新另一个槽位的声援item状态
- self.model:Fire(PetConst.REFRESH_PET_SUPPORT_FIGHT)--刷新声援界面的战力
- end
- end
-
- -- ############### 全服宠物昨日人气榜信息 #################
- function PetController:Handle16309( )
- local vo = SCMD16309.New(true)
- -- print("==WQ==:PetController [start:570] vo:", vo)
- -- PrintTable(vo)
- -- print("==WQ==:PetController [end]")
- if vo then
- self.model:SetPetSupportRankData(vo)
- self.model:Fire(PetConst.REQUEST_CCMD_EVENT,16310)--打开昨日榜界面请求完榜单后请求领奖状态,之后再刷新界面
- self.model:Fire(PetConst.REQUEST_CCMD_EVENT,16313)--打开投票点赞界面请求完榜单后先请求点赞投票记录
- end
- end
-
- -- ############### 昨日人气榜奖励领取信息 #################
- function PetController:Handle16310( )
- local vo = SCMD16310.New(true)
- --print("==WQ==:SCMD16310 [start:586] vo:", vo)
- --PrintTable(vo)
- --print("==WQ==:PetController [end]")
- self.model:SetPetRankRewardData(vo)
- self.model:Fire(PetConst.UPDATE_PET_SUPPORT_RANK_VIEW)
- self.model:Fire(PetConst.UPDATE_RED_DOT,PetConst.RED_DOT_TYPE.Reward)
- end
-
- -- ############### 获取分享宠物信息 #################
- -- protocol=16311
- -- {
- -- c2s{
- -- role_id :int64 //玩家Id
- -- pet_id :int32 //宠物Id
- -- }
- -- s2c{
- -- pet_id :int32 //宠物Id
- -- pet_star :int8 //宠物星级
- -- pet_lv :int16 //宠物培养等级
- -- attr_list:array{
- -- attr_id :int8 //属性Id
- -- attr_value :int32 //属性值
- -- }
- -- pet_power :int64 //宠物战力
- -- picture:rec_picture //玩家头像
- -- }
- -- }
- function PetController:Handle16311( )
- local vo = SCMD16311.New(true)
- self.model:Fire(PetConst.OPEN_PET_SHARE_VIEW,vo)
- end
-
- -- ############### 全服宠物人气榜信息 #################(废弃)
- function PetController:Handle16312( )
- local vo = SCMD16312.New(true)
- self.model:SetPetVoteData(vo)
- self.model:Fire(PetConst.REQUEST_CCMD_EVENT,16313)
- end
-
- -- ############### 今日宠物投票信息 #################
- function PetController:Handle16313( )
- local vo = SCMD16313.New(true)
- --print("==WQ==:SCMD16313 [start:659] vo:", vo)
- --PrintTable(vo)
- --print("==WQ==:PetController [end]")
- self.model:SetPetMyVoteData(vo)
- self.model:Fire(PetConst.UPDATE_VOTE_VIEW)
- self.model:Fire(PetConst.UPDATE_LEFT_VOTE_TIMES)
- self.model:Fire(PetConst.UPDATE_RED_DOT,PetConst.RED_DOT_TYPE.Vote)
- end
-
- -- ############### 宠物投票 #################
- function PetController:Handle16314( )
- local vo = SCMD16314.New(true)
- self.model:SetPetMyVoteData(vo)
- -- self.model:Fire(PetConst.UPDATE_VOTE_ITEM_STATE)
- -- self.model:Fire(PetConst.UPDATE_LEFT_VOTE_TIMES)
- -- self.model:Fire(PetConst.REQUEST_CCMD_EVENT,16312)--投票之后直接请求16312拿到最新数据刷新一遍界面
- self.model:Fire(PetConst.REQUEST_CCMD_EVENT,16309)--投票之后直接请求16312拿到最新数据刷新一遍界面
- self.model:Fire(PetConst.UPDATE_RED_DOT,PetConst.RED_DOT_TYPE.Vote)
- end
-
- -- ############### 领取昨日榜奖励 #################
- -- protocol=16315
- -- {
- -- c2s{
- -- pet_id :int32 //宠物Id
- -- }
- -- s2c{
- -- res :int32 //错误码
- -- pet_id :int32 //宠物Id
- -- }
- -- }
- function PetController:Handle16315( )
- local vo = SCMD16315.New(true)
- if vo.res == 1 then
- self.model:UpdatePetRankRewardData(vo)
- self.model:Fire(PetConst.UPDATE_RANK_REWARD_STATE)
- self.model:Fire(PetConst.UPDATE_RED_DOT,PetConst.RED_DOT_TYPE.Reward)
- else
- ErrorCodeShow(vo.res)
- lua_soundM:PlayEffect(self, "fault",false,LuaSoundManager.SOUND_TYPE.UI)
- end
- end
-
- -- ############### 宠物觉醒 #################
- -- protocol=16316
- -- {
- -- c2s{
- -- pet_id :int32 //宠物Id
- -- }
- -- s2c{
- -- res :int32 //错误码
- -- pet_id :int32 //宠物Id
- -- }
- -- }
- function PetController:Handle16316( )
- local vo = SCMD16316.New(true)
- if vo.res == 1 then
- self.model:UpdatePetAwakeState(vo)
- self.model:Fire(PetConst.PET_AWAKE_SUCCESS)
- self.model:Fire(PetConst.UPDATE_RED_DOT,PetConst.RED_DOT_TYPE.Awake)
- else
- ErrorCodeShow(vo.res)
- lua_soundM:PlayEffect(self, "fault",false,LuaSoundManager.SOUND_TYPE.UI)
- end
- end
-
- -- ############### 推送助战宠物出战 #################
- -- protocol=16317
- -- {
- -- s2c{
- -- role_id :int64 //玩家Id
- -- pet_id :int32 //宠物Id
- -- pet_star :int16 //宠物星级
- -- is_top :int8 //是否助战宠物
- -- skill_id :int32 //技能Id
- -- }
- -- }
- function PetController:Handle16317( )
- local vo = SCMD16317.New(true)
- if vo.role_id == RoleManager.Instance.mainRoleInfo.role_id then return end
- vo.is_follow = 1
- vo.is_help_pet = true
- self.model:Fire(PetConst.UPDATE_SCENE_PET_MODEL,vo)
- end
-
-
- function PetController:Handle16318( )
- local vo = SCMD16318.New(true)
- if vo.res == 2 then
- self.model:Fire(PetConst.UPDATE_RED_DOT, PetConst.RED_DOT_TYPE.DiamondCompose)
- else
- ErrorCodeShow(vo.res)
- end
- end
|