源战役客户端
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
 
 
 

721 satır
24 KiB

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