源战役客户端
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 

1505 行
47 KiB

require("game.mate.MateModel")
require("game.mate.MateConst")
require("game.mate.view.MateBaseView")--羁绊基础容器界面
require("game.mate.view.MateAskView")--邀请羁绊
require("game.mate.view.MateChangeTagView")--改标签备注界面
require("game.mate.view.MateShopView")--羁绊商城界面
require("game.mate.view.MateShopItem")--羁绊商城item
require("game.mate.view.MateFindFriendView")--羁绊征友界面
require("game.mate.view.MateFindFriendItem")--羁绊征友界面
require("game.mate.view.MateFindFriendTip")--羁绊征友tip界面
require("game.mate.view.MateSingleDogView")--羁绊任务界面
require("game.mate.view.MateMyFriendView")--所有羁绊好友主界面
require("game.mate.view.MateFriendItem")--所有羁绊好友主界面子节点
require("game.mate.view.MateFriendInfoView")--单个羁绊好友信息界面
require("game.mate.view.MateFriendShareView")--羁绊分享界面
require("game.mate.view.MateShipView")--羁绊信物
require("game.mate.view.MateSkillItem")--羁绊信物技能子节点
require("game.mate.view.MateAttrItem")--羁绊信物属性子节点
require("game.mate.view.MateFriendSelectTip")--选择羁绊好友
require("game.mate.view.MateRoleItem")--选择羁绊好友子节点
require("game.mate.view.MateAnsView")--回复羁绊
require("game.mate.view.MateChangeTitleView")--改备注称号界面
require("game.mate.view.MateAskBreakTip")--请求解除羁绊
require("game.mate.view.MateMarkView")--羁绊纪念日
require("game.mate.view.MateMarkItem")--羁绊纪念日子节点
require("game.mate.view.MateDailyView")--羁绊日常界面
require("game.mate.view.MateDailyItem")--羁绊日常界面子节点
require("game.mate.view.MateGameAnsView")--回复羁绊游戏
require("game.mate.view.MateGameRewardView")--羁绊奖励预览界面
require("game.mate.view.MateGameRewardItem")--羁绊奖励预览子节点
require("game.mate.view.MateDesignationView")--羁绊头衔
require("game.mate.view.MateDesignationItem")--羁绊头衔子节点
require("game.mate.view.MateAttrItemTwo")--羁绊头衔属性子节点
require("game.mate.view.MateGameResultView")--羁绊游戏结算
require("game.mate.view.MateMusicGameView")
require("game.mate.view.MateMusicItem")
require("game.mate.view.MateMusicTipView")
require("game.mate.view.MateBallGameView")
require("game.mate.view.MateBallTipView")
require("game.mate.view.MateFindFriendTagItem")
require("game.mate.view.MateAdView")--羁绊预告界面
require("game.proto.149.Require149")
MateController = MateController or BaseClass(BaseController, true)
local MateController = MateController
function MateController:__init()
MateController.Instance = self
self.model = MateModel:GetInstance()
self:AddEvents()
self:RegisterAllProtocal()
end
function MateController:__delete()
end
function MateController:RegisterAllProtocal( )
self:RegisterProtocal(14900, 'on14900') --羁绊基础信息
self:RegisterProtocal(14901, 'on14901') --请求羁绊
self:RegisterProtocal(14902, 'on14902') --请求羁绊消息
self:RegisterProtocal(14903, 'on14903') --回应请求羁绊
self:RegisterProtocal(14904, 'on14904') --收到羁绊回应
self:RegisterProtocal(14905, 'on14905') --请求解除羁绊
self:RegisterProtocal(14906, 'on14906') --解除羁绊消息
self:RegisterProtocal(14907, 'on14907') --回应解除羁绊
self:RegisterProtocal(14908, 'on14908') --收到解除羁绊回应
self:RegisterProtocal(14909, 'on14909') --解除羁绊预览
self:RegisterProtocal(14910, 'on14910') --修改羁绊称号
self:RegisterProtocal(14911, 'on14911') --修改羁绊备注
self:RegisterProtocal(14912, 'on14912') --领取纪念日奖励
self:RegisterProtocal(14913, 'on14913') --友谊的小船
self:RegisterProtocal(14914, 'on14914') --强化友谊的小船
self:RegisterProtocal(14915, 'on14915') --称号佩戴
self:RegisterProtocal(14916, 'on14916') --查看他人羁绊
self:RegisterProtocal(14917, 'on14917') --请求羁绊检查
self:RegisterProtocal(14918, 'on14918') --新手奖励领取状态
self:RegisterProtocal(14919, 'on14919') --新手奖励领取
-------------------------
self:RegisterProtocal(14920, 'on14920') --小游戏情况
self:RegisterProtocal(14921, 'on14921') --小游戏邀请他人
self:RegisterProtocal(14922, 'on14922') --小游戏收到邀请
self:RegisterProtocal(14923, 'on14923') --小游戏回应邀请
self:RegisterProtocal(14924, 'on14924') --节奏大师游戏预备开始
self:RegisterProtocal(14925, 'on14925') --节奏大师游戏拍点出现
self:RegisterProtocal(14926, 'on14926') --节奏大师游戏换人
self:RegisterProtocal(14927, 'on14927') --节奏大师点击
self:RegisterProtocal(14928, 'on14928') --节奏大师正确点击广播
self:RegisterProtocal(14929, 'on14929') --节奏大师游戏积分变化
self:RegisterProtocal(14930, 'on14930') --节奏大师结算
self:RegisterProtocal(14932, 'on14932') --收到回应
self:RegisterProtocal(14934, 'on14934') --关闭羁绊游戏
self:RegisterProtocal(14935, 'on14935') --抛接球进入准备界面
self:RegisterProtocal(14936, 'on14936') --抛接球,开球
self:RegisterProtocal(14938, 'on14938') --抛接球球飞行方向
self:RegisterProtocal(14939, 'on14939') --抛接球球结算
self:RegisterProtocal(14940, 'on14940') --准备状态
self:RegisterProtocal(14941, 'on14941') --准备
self:RegisterProtocal(14942, 'on14942') --交友大厅 查看信息
self:RegisterProtocal(14943, 'on14943') --交友大厅 发布交友信息
self:RegisterProtocal(14945, 'on14945') --拍照 发出邀请
self:RegisterProtocal(14946, 'on14946') --拍照 收到的邀请信息
self:RegisterProtocal(14947, 'on14947') --拍照 回应邀请
self:RegisterProtocal(14948, 'on14948') --拍照 活动信息
self:RegisterProtocal(14949, 'on14949') --拍照 准备
self:RegisterProtocal(14950, 'on14950') --拍照 拍照
self:RegisterProtocal(14951, 'on14951') --拍照 结算
self:RegisterProtocal(14952, 'on14952') --拍照 取消游戏
self:RegisterProtocal(14953, 'on14953') --羁绊-日常 日常任务
self:RegisterProtocal(14954, 'on14954') --羁绊-日常 更新任务进度
self:RegisterProtocal(14955, 'on14955') --羁绊-日常 领取任务奖励
end
function MateController:AddEvents()
local function BaseRequest( )
self.model:Fire(MateConst.REQ_BASIC_INFO)
self.model:Fire(MateConst.REQ_CONNECT_MESSAGE)
self.model:Fire(MateConst.REQ_CUT_CONNECT_MESSAGE)
self.model:Fire(MateConst.REQ_SHIP_INFO)
self.model:Fire(MateConst.REQ_GAME_INFO)
self.model:Fire(MateConst.REQ_GAME_INVITE_LIST)
-- self.model:Fire(MateConst.PROTO_CCMD_EVENT,14953)
end
local function chnage_day_func(type)
if type == SettingModel.CHANGE_DAY.HOUR_0 then -- 跨0点
local function delay_method( )
self.model:Fire(MateConst.PROTO_CCMD_EVENT,14953)--0点刷新任务
ShopModel:getInstance():Fire(ShopModel.GET_GOODS_LIST, ShopType.MATE) --其他地方购买走商城,需要请求协议
end
setTimeout(delay_method, 5)
end
end
GlobalEventSystem:Bind(EventName.CHANE_DAY, chnage_day_func)
local function CheckTaskCall( )
if self.bind_task_init_id then
TaskModel:getInstance():UnBind(self.bind_task_init_id)
self.bind_task_init_id = nil
end
if self.model:IsFinishAllMarriageTask( 3 ) then
--所有任务已完成,再也不需要监听
elseif self.need_task_check then
local function TASK_LIST_INIT( )
if self.need_task_check then
self:CheckTaskRed( )
if self.model:IsFinishAllMarriageTask( 3 ) then
--所有任务已完成,再也不需要监听
self.need_task_check = false
if self.bind_task_init_id then
TaskModel:getInstance():UnBind(self.bind_task_init_id)
self.bind_task_init_id = nil
end
end
end
end
TASK_LIST_INIT()
self.bind_task_init_id = TaskModel:getInstance():Bind(TaskEvent.TASK_LIST_INIT, TASK_LIST_INIT)
end
end
local function on_game_start()
self.need_task_check = true -- 是否需要检查任务标记,所有任务完成后就不要再检查了
self.model:Reset()
-------------------------
local function delay( )
if GetModuleIsOpen( 149 ) then
BaseRequest()
end
if GetModuleIsOpen( 149,1 ) then
--羁绊任务
CheckTaskCall()
end
-- if GetModuleIsOpen( 149,2 ) then
--羁绊预告
-- end
end
setTimeout(delay,2)
self.model:Fire(MateConst.REQ_MATE_AD_AWARD_STATUS)
end
GlobalEventSystem:Bind(EventName.GAME_START, on_game_start)
local function onLevelChange( level )
local need_lv = self.model:GetOpenNeed()
if level == need_lv then
BaseRequest()
end
if level == GetModuleOpenLevel( 149,1) then
--羁绊任务
CheckTaskCall()
end
-- 羁绊功能预告
-- 不再升级自动弹出
-- if level == GetModuleOpenLevel(149) then
-- self:ShowMateAdView(true, false, true)
-- end
end
RoleManager:getInstance().mainRoleInfo:Bind(EventName.CHANGE_LEVEL, onLevelChange)
local function UPDATE_TICKETS_STATE( )
if GetModuleIsOpen( 149 ) then
self:CheckRed()
end
end
SocialityModel.getInstance():Bind(SocialityModel.UPDATE_TICKETS_STATE, UPDATE_TICKETS_STATE)
local function ANS_FINISHED_TASK_LIST(flag)
-- 羁绊预告界面开启判断
if Config.Modulesub["149@2"].task_id == flag and (not self.have_show_mate_ad_view) then
self.have_show_mate_ad_view = true
self:ShowMateAdView(true, true, true)
end
for k,v in pairs(MateConst.SingleDogTask) do
if v == flag then
local function delay_call( )
self:CheckRed( )
end
setTimeout(delay_call,2)
return
end
end
end
GlobalEventSystem:Bind(TaskEvent.ANS_FINISHED_TASK_LIST, ANS_FINISHED_TASK_LIST)
local function update_mate_red()
self:CheckRed( )
end
self.model:Bind(MateConst.UPDATE_MATE_RED, update_mate_red)
local function OPEN_BASE_VIEW( show_type, other_data, close_auto_task )
if other_data == "close" then
if self.matebaseview then
self.matebaseview:Close()
end
return
end
-------------------------
if not self.matebaseview then
self.matebaseview = MateBaseView.New()
end
self.matebaseview:Open(show_type, other_data, close_auto_task)
end
self.model:Bind(MateConst.OPEN_BASE_VIEW, OPEN_BASE_VIEW)
local function OPEN_FIND_FRIEND_TIP( str,is_close )
--征友tip
if is_close then
if self.matefindfriendtip then
self.matefindfriendtip:Close()
end
return
end
if not self.matefindfriendtip then
self.matefindfriendtip = MateFindFriendTip.New()
self.matefindfriendtip:Open( str )
end
end
self.model:Bind(MateConst.OPEN_FIND_FRIEND_TIP, OPEN_FIND_FRIEND_TIP)
local function OPEN_FRIENDINFO_VIEW( role_id,look_info )
if not role_id and not look_info then return end
if not self.matefriendinfoview then
self.matefriendinfoview = MateFriendInfoView.New()
self.matefriendinfoview:Open(role_id,look_info)
end
end
self.model:Bind(MateConst.OPEN_FRIENDINFO_VIEW,OPEN_FRIENDINFO_VIEW)
local function OPEN_FRIEND_SHARE_VIEW( look_info )
if not look_info then return end
if not self.matefriendshareview then
self.matefriendshareview = MateFriendShareView.New()
self.matefriendshareview:Open(look_info)
end
end
self.model:Bind(MateConst.OPEN_FRIEND_SHARE_VIEW,OPEN_FRIEND_SHARE_VIEW)
local function OPEN_CHANGETAG_VIEW( role_id )
if not role_id then return end
if not self.matechangetagview then
self.matechangetagview = MateChangeTagView.New()
self.matechangetagview:Open(role_id)
end
end
self.model:Bind(MateConst.OPEN_CHANGETAG_VIEW,OPEN_CHANGETAG_VIEW)
local function OPEN_SELECT_FRIEND_VIEW( friend_list,tag,call_select,cur_select )
friend_list = friend_list or {}
if not self.matefriendselecttip then
self.matefriendselecttip = MateFriendSelectTip.New()
self.matefriendselecttip:SetData(friend_list,tag,call_select,cur_select)
self.matefriendselecttip:Open()
end
end
self.model:Bind(MateConst.OPEN_SELECT_FRIEND_VIEW,OPEN_SELECT_FRIEND_VIEW)
local function OPEN_ASK_MATE_VIEW( role_id, role_info )
if not self.mateaskview then
self.mateaskview = MateAskView.New()
self.mateaskview:Open(role_id,role_info)
end
end
self.model:Bind(MateConst.OPEN_ASK_MATE_VIEW,OPEN_ASK_MATE_VIEW)
local function CLOSE_ASK_MATE_VIEW()
if self.mateaskview and self.mateaskview:HasOpen() then
self.mateaskview:Close()
end
end
self.model:Bind(MateConst.CLOSE_ASK_MATE_VIEW,CLOSE_ASK_MATE_VIEW)
local function OPEN_ANS_MATE_VIEW( role_id )
if not role_id then return end
if not self.mateansview then
self.mateansview = MateAnsView.New()
self.mateansview:Open(role_id)
end
end
self.model:Bind(MateConst.OPEN_ANS_MATE_VIEW,OPEN_ANS_MATE_VIEW)
local function OPEN_CHANGETITLE_VIEW( role_id )
if not role_id then return end
if not self.matechangetitleview then
self.matechangetitleview = MateChangeTitleView.New()
self.matechangetitleview:Open(role_id)
end
end
self.model:Bind(MateConst.OPEN_CHANGETITLE_VIEW,OPEN_CHANGETITLE_VIEW)
local function OPEN_MATEAD_VIEW(use_close_anim, use_close_timer)
self:ShowMateAdView(true, use_close_anim, use_close_timer)
end
self.model:Bind(MateConst.OPEN_MATEAD_VIEW, OPEN_MATEAD_VIEW)
local function OPEN_ANS_BREAK_VIEW( role_id )
if not role_id then return end
--[[local function call_yes( )
self.model:Fire(MateConst.REQ_RESPOND_CUT_CONNECT, role_id, 1)
end
local function call_no( )
self.model:Fire(MateConst.REQ_RESPOND_CUT_CONNECT, role_id, 2)
end--]]
-- local basic = self.model:GetBasicByRoleId( role_id )
-- if not basic then return end
-- local str = string.format(MateConst.AnsBreakTip, basic.name)
-- Alert.show(str, Alert.Type.Two, call_yes, call_no, '同意', '拒绝')
self.model:Fire(MateConst.OPEN_ASK_BREAK_VIEW, role_id, true)
end
self.model:Bind(MateConst.OPEN_ANS_BREAK_VIEW,OPEN_ANS_BREAK_VIEW)
local function OPEN_ASK_BREAK_VIEW( role_id,is_ans )
if not role_id then return end
if not self.mateaskbreaktip then
self.mateaskbreaktip = MateAskBreakTip.New()
self.mateaskbreaktip:Open(role_id,is_ans)
end
end
self.model:Bind(MateConst.OPEN_ASK_BREAK_VIEW,OPEN_ASK_BREAK_VIEW)
local function OPEN_MARK_VIEW( role_id )
if not role_id then return end
if not self.matemarkview then
self.matemarkview = MateMarkView.New()
self.matemarkview:Open(role_id)
end
end
self.model:Bind(MateConst.OPEN_MARK_VIEW,OPEN_MARK_VIEW)
local function OPEN_GAME_ANS_VIEW( role_id,type_id )
if TableSize(self.model:GetInviteInfo()) == 0 then
self.model:CheckInviteDot( )
return
end
if not self.mategameansview then
self.mategameansview = MateGameAnsView.New()
self.mategameansview:Open(role_id,type_id)
end
end
self.model:Bind(MateConst.OPEN_GAME_ANS_VIEW,OPEN_GAME_ANS_VIEW)
local function OPEN_GAME_ANS_LIST( )
if not self.mategameanslisttip then
self.mategameanslisttip = MateFriendSelectTip.New()
end
self.mategameanslisttip:SetSpecialStr("邀请游戏","没有人邀请你做游戏哦~","请选择一个参与~")
-------------------------
local friend_list = self.model:GetInviteInfo()
local need_list = {}
for k,v in pairs(friend_list) do
if v.type == 2 then
table.insert( need_list, v )
end
end
local function call_select( role_id,type_id )
self.model:Fire(MateConst.OPEN_GAME_ANS_VIEW,role_id,type_id)
end
self.mategameanslisttip:SetData(need_list,"game_ans",call_select,0)
-------------------------
self.mategameanslisttip:Open()
end
self.model:Bind(MateConst.OPEN_GAME_ANS_LIST,OPEN_GAME_ANS_LIST)
local function OPEN_MUSIC_VIEW( )
if not self.matemusicgameview then
self.matemusicgameview = MateMusicGameView.New()
self.matemusicgameview:Open()
end
-------------------------
local data = CookieWrapper.Instance:GetCookie(CookieLevelType.Common,CookieKey.MATE_GAME_TIP_SHOW_TAG)
if data and data[RoleManager.Instance.mainRoleInfo.role_id] and data[RoleManager.Instance.mainRoleInfo.role_id][MateConst.GameActId.Music] then
else
self.model:Fire(MateConst.OPEN_MUSIC_TIP_VIEW)
end
end
self.model:Bind(MateConst.OPEN_MUSIC_VIEW, OPEN_MUSIC_VIEW)
local function OPEN_BALL_VIEW( )
if not self.mateballgameview then
self.mateballgameview = MateBallGameView.New()
self.mateballgameview:Open()
end
-------------------------
local data = CookieWrapper.Instance:GetCookie(CookieLevelType.Common,CookieKey.MATE_GAME_TIP_SHOW_TAG)
if data and data[RoleManager.Instance.mainRoleInfo.role_id] and data[RoleManager.Instance.mainRoleInfo.role_id][MateConst.GameActId.Ball] then
else
self.model:Fire(MateConst.OPEN_BALL_TIP_VIEW)
end
end
self.model:Bind(MateConst.OPEN_BALL_VIEW, OPEN_BALL_VIEW)
local function OPEN_MUSIC_TIP_VIEW( )
if not self.matemusictipview then
self.matemusictipview = MateMusicTipView.New()
self.matemusictipview:Open()
end
end
self.model:Bind(MateConst.OPEN_MUSIC_TIP_VIEW, OPEN_MUSIC_TIP_VIEW)
local function OPEN_BALL_TIP_VIEW( )
if not self.mateballtipview then
self.mateballtipview = MateBallTipView.New()
self.mateballtipview:Open()
end
end
self.model:Bind(MateConst.OPEN_BALL_TIP_VIEW, OPEN_BALL_TIP_VIEW)
local function OPEN_GAME_REWARD_VIEW( )
if not self.mategamerewardview then
self.mategamerewardview = MateGameRewardView.New()
self.mategamerewardview:Open()
end
end
self.model:Bind(MateConst.OPEN_GAME_REWARD_VIEW,OPEN_GAME_REWARD_VIEW)
local function OPEN_ASK_PHOTO_VIEW( )
if self.model:IsNoMateFriend() then
Message.show("先结交一位羁绊好友吧~")
return
end
if not self.mateaskphotoview then
self.mateaskphotoview = MateAskPhotoView.New()
self.mateaskphotoview:Open()
end
end
self.model:Bind(MateConst.OPEN_ASK_PHOTO_VIEW,OPEN_ASK_PHOTO_VIEW)
--羁绊基础信息
local function REQ_BASIC_INFO()
self:SendFmtToGame(14900)
end
self.model:Bind(MateConst.REQ_BASIC_INFO, REQ_BASIC_INFO)
--请求羁绊
local function REQ_TRY_TO_CONNECT( role_id )
if role_id then
self:SendFmtToGame( 14901, "l", role_id )
end
end
self.model:Bind(MateConst.REQ_TRY_TO_CONNECT, REQ_TRY_TO_CONNECT)
--请求羁绊消息
local function REQ_CONNECT_MESSAGE( )
self:SendFmtToGame(14902)
end
self.model:Bind(MateConst.REQ_CONNECT_MESSAGE, REQ_CONNECT_MESSAGE)
--回应请求羁绊
local function REQ_RESPOND_CONNECT( role_id, op_type )
--1答应 2拒绝
if role_id and op_type then
self:SendFmtToGame(14903, "lc", role_id, op_type)
end
end
self.model:Bind(MateConst.REQ_RESPOND_CONNECT, REQ_RESPOND_CONNECT)
--请求解除羁绊
local function REQ_CUT_CONNECT( role_id, op_type )
--1协议|2强制
if role_id and op_type then
self:SendFmtToGame(14905, "lc", role_id, op_type)
end
end
self.model:Bind(MateConst.REQ_CUT_CONNECT, REQ_CUT_CONNECT)
--解除羁绊消息
local function REQ_CUT_CONNECT_MESSAGE( )
self:SendFmtToGame(14906)
end
self.model:Bind(MateConst.REQ_CUT_CONNECT_MESSAGE, REQ_CUT_CONNECT_MESSAGE)
--回应解除羁绊
local function REQ_RESPOND_CUT_CONNECT( role_id, op_type )
--1答应 2拒绝
if role_id and op_type then
self:SendFmtToGame(14907, "lc", role_id, op_type)
end
end
self.model:Bind(MateConst.REQ_RESPOND_CUT_CONNECT, REQ_RESPOND_CUT_CONNECT)
--解除羁绊预览
local function REQ_LOOK_BREAK_AWARD( role_id )
if role_id then
self:SendFmtToGame(14909, "l", role_id)
end
end
self.model:Bind(MateConst.REQ_LOOK_BREAK_AWARD, REQ_LOOK_BREAK_AWARD)
--修改羁绊称号
local function REQ_CHANGE_FRIEND_NAME( role_id, name )
if role_id and name then
self:SendFmtToGame(14910, "ls", role_id, name)
end
end
self.model:Bind(MateConst.REQ_CHANGE_FRIEND_NAME, REQ_CHANGE_FRIEND_NAME)
--修改羁绊备注
local function REQ_CHANGE_TAG( role_id, remarks_id )
if role_id and remarks_id then
self:SendFmtToGame(14911, "lc", role_id, remarks_id)
end
end
self.model:Bind(MateConst.REQ_CHANGE_TAG, REQ_CHANGE_TAG)
-- 领取纪念日奖励
local function REQ_GET_MARK_REWARD( role_id, day )
if role_id and day then
self:SendFmtToGame(14912, "lh", role_id, day )
end
end
self.model:Bind(MateConst.REQ_GET_MARK_REWARD,REQ_GET_MARK_REWARD)
--友谊的小船
local function REQ_SHIP_INFO( )
self:SendFmtToGame(14913)
end
self.model:Bind(MateConst.REQ_SHIP_INFO,REQ_SHIP_INFO)
--强化友谊的小船
local function REQ_UPGRADE_SHIP( )
self:SendFmtToGame(14914)
end
self.model:Bind(MateConst.REQ_UPGRADE_SHIP,REQ_UPGRADE_SHIP)
--佩戴羁绊称号
local function REQ_DRESS_TITLE( role_id,op_type )
-- 1佩戴|2取消
if role_id and op_type then
self:SendFmtToGame(14915,"lc", role_id,op_type)
end
end
self.model:Bind(MateConst.REQ_DRESS_TITLE,REQ_DRESS_TITLE)
--查看他人羁绊
local function REQ_LOOK_OTHER_MATE( id_1,id_2 )
if id_1 and id_2 then
self:SendFmtToGame(14916,"ll",id_1,id_2)
end
end
self.model:Bind(MateConst.REQ_LOOK_OTHER_MATE,REQ_LOOK_OTHER_MATE)
local function REQ_CHECK_BIND_MATE( role_id )
if role_id then
self:SendFmtToGame(14917,"l",role_id)
end
end
self.model:Bind(MateConst.REQ_CHECK_BIND_MATE, REQ_CHECK_BIND_MATE)
--新手奖励领取状态
local function REQ_MATE_AD_AWARD_STATUS( )
self:SendFmtToGame(14918)
end
self.model:Bind(MateConst.REQ_MATE_AD_AWARD_STATUS, REQ_MATE_AD_AWARD_STATUS)
--新手奖励领取
local function REQ_GET_MATE_AD_AWARD( )
self:SendFmtToGame(14919)
end
self.model:Bind(MateConst.REQ_GET_MATE_AD_AWARD, REQ_GET_MATE_AD_AWARD)
--小游戏情况
local function REQ_GAME_INFO( )
self:SendFmtToGame(14920)
end
self.model:Bind(MateConst.REQ_GAME_INFO,REQ_GAME_INFO)
--小游戏邀请他人
local function REQ_INVITE_ROLE( role_id,act_id )
if role_id and act_id then
self:SendFmtToGame(14921,"lc",role_id,act_id)
end
end
self.model:Bind(MateConst.REQ_INVITE_ROLE,REQ_INVITE_ROLE)
--小游戏邀请他人
local function REQ_GAME_INVITE_LIST( )
self:SendFmtToGame(14922)
end
self.model:Bind(MateConst.REQ_GAME_INVITE_LIST,REQ_GAME_INVITE_LIST)
--小游戏回应邀请
local function REQ_RESPOND_INVITE(act_id,role_id,op_type)
--op_type 1同意|2拒绝
if act_id and role_id and op_type then
self:SendFmtToGame(14923,"clc",act_id,role_id,op_type)
end
end
self.model:Bind(MateConst.REQ_RESPOND_INVITE,REQ_RESPOND_INVITE)
local function MUSIC_CLICK_DOT( id,role_id )
self:SendFmtToGame(14927,"hl",id,role_id)
end
self.model:Bind(MateConst.MUSIC_CLICK_DOT,MUSIC_CLICK_DOT)
--小游戏取消邀请
local function REQ_CANCEL_INVITE()
self:SendFmtToGame(14931)
end
self.model:Bind(MateConst.REQ_CANCEL_INVITE,REQ_CANCEL_INVITE)
----游戏请求结束
local function REQ_GAME_OVER( role_id )
self:SendFmtToGame(14933,"l",role_id)
end
self.model:Bind(MateConst.REQ_GAME_OVER,REQ_GAME_OVER)
--抛接球,开球
local function BALL_START_BALL( )
local data = self.model:GetBallInfo()
if not data then return end
local my_role_id = RoleManager.Instance.mainRoleInfo.role_id
local role_id = data[1].role_id == my_role_id and data[2].role_id or data[1].role_id
self:SendFmtToGame(14936,"l",role_id)
end
self.model:Bind(MateConst.BALL_START_BALL,BALL_START_BALL)
--抛接球,击球
local function BALL_KICK_BALL( )
local data = self.model:GetBallInfo()
if not data then return end
local my_role_id = RoleManager.Instance.mainRoleInfo.role_id
local role_id = data[1].role_id == my_role_id and data[2].role_id or data[1].role_id
self:SendFmtToGame(14937,"l",role_id)
end
self.model:Bind(MateConst.BALL_KICK_BALL,BALL_KICK_BALL)
--游戏准备状态列表
local function REQ_GAME_WAIT_STATUS( role_id )
self:SendFmtToGame(14940, "l", role_id)
end
self.model:Bind(MateConst.REQ_GAME_WAIT_STATUS, REQ_GAME_WAIT_STATUS)
--游戏准备
local function REQ_GAME_WAIT_READY( role_id )
self:SendFmtToGame(14941, "l", role_id)
end
self.model:Bind(MateConst.REQ_GAME_WAIT_READY, REQ_GAME_WAIT_READY)
-- 交友大厅 查看信息
local function REQ_FIND_FRIEND_DATA( )
self:SendFmtToGame(14942)
end
self.model:Bind(MateConst.REQ_FIND_FRIEND_DATA, REQ_FIND_FRIEND_DATA)
-- 交友大厅 发布交友信息
local function REQ_PUBLISH_FIND_FRIEND( msg, type_id )
if (not msg) or (not type_id) then
return
end
self:SendFmtToGame(14943, "sc", msg, type_id)
end
self.model:Bind(MateConst.REQ_PUBLISH_FIND_FRIEND, REQ_PUBLISH_FIND_FRIEND)
local function UPDATE_FLOWER_NUM( role_id,week_charm,intimacy )
self.model:ChangeFriendInfo("intimacy",role_id,intimacy)
self.model:Fire(MateConst.ANS_BASIC_INFO)
end
SocialityModel:getInstance():Bind(SocialityModel.UPDATE_FLOWER_NUM,UPDATE_FLOWER_NUM)
local function onSendCmdFunc( ... )
local args_list = {...}
if args_list[1] == 14947 or args_list[1] == 14949 then
self:SendFmtToGame(args_list[1], "lcc", args_list[2], args_list[3], args_list[4])
elseif args_list[1] == 14952 then
self:SendFmtToGame(args_list[1], "l", args_list[2])
elseif args_list[1] == 14955 then
self:SendFmtToGame(args_list[1], "l", args_list[2])
elseif args_list[1] == 14956 then
self:SendFmtToGame(args_list[1], "cl", args_list[2],args_list[3])
else
self:SendFmtToGame(args_list[1])
end
end
self.model:Bind(MateConst.PROTO_CCMD_EVENT, onSendCmdFunc)
local function update_goods_list_by_type( type )
if type == ShopType.MATE then
self:CheckRed(true)
end
end
ShopModel:getInstance():Bind(ShopModel.ANS_GET_GOODS_LIST, update_goods_list_by_type)
local function update_goods_list_by_type_2( )
self:CheckRed(true)
end
ShopModel:getInstance():Bind(ShopModel.UPDATE_GOODS_LIST, update_goods_list_by_type_2)
--监听特殊货币变化
local on_special_score_change = function()
self:CheckRed(true)
end
GoodsModel:getInstance():Bind(GoodsModel.UPDATE_SPECIAL_SCORE, on_special_score_change)
end
--羁绊基础信息
function MateController:on14900( )
local scmd = SCMD14900.New(true)
self.model:SetBasicInfo( scmd.lists )
self:CheckRed()
self.model:Fire(MateConst.ANS_BASIC_INFO)
--刷新羁绊基础信息后要请求一下任务列表
self.model:Fire(MateConst.PROTO_CCMD_EVENT,14953)
-- SocialityModel.getInstance().only_request_mate_flag = true
-- SocialityModel.getInstance():Fire(SocialityModel.REQUEST_CCMD_EVENT, 14000, 2)--请求羁绊
end
--请求羁绊
function MateController:on14901( )
local scmd = SCMD14901.New(true)
if scmd.code == 1 then
Message.show("请求成功,请耐心等待对方回复~")
self.model:Fire(MateConst.ANS_TRY_TO_CONNECT)
GlobalEventSystem:Fire(EventName.PLAY_UI_EFFECT_SOUND,LuaSoundManager.SOUND_UI.SUCCESS)
else
ErrorCodeShow(scmd.code)
end
end
--请求羁绊消息
function MateController:on14902( )
--1自己发出的|2收到的
local scmd = SCMD14902.New(true)
self.model:SetConnectMessage(scmd.ask_list)
self.model:Fire(MateConst.ANS_CONNECT_MESSAGE)
local have = false
for k,v in pairs(scmd.ask_list) do
if v.type == 2 then
--存在待处理消息
have = true
break
end
end
if have then
MsgManager:getInstance():Add({type=Config.ConfigMainIcon.TipType.mate_ans})
else
MsgManager:getInstance():Remove(Config.ConfigMainIcon.TipType.mate_ans)
end
end
--回应请求羁绊
function MateController:on14903( )
local scmd = SCMD14903.New(true)
if scmd.code == 1 then
GlobalEventSystem:Fire(EventName.PLAY_UI_EFFECT_SOUND,LuaSoundManager.SOUND_UI.SUCCESS)
if scmd.type == 1 then
Message.show("已答应羁绊请求~")
-- SocialityModel.getInstance().only_request_mate_flag = true
-- SocialityModel.getInstance():Fire(SocialityModel.REQUEST_CCMD_EVENT, 14000, 2)--请求羁绊
else
Message.show("已谢绝羁绊请求~")
end
self.model:Fire(MateConst.ANS_RESPOND_CONNECT)
local function delay( )
self.model:Fire(MateConst.REQ_CONNECT_MESSAGE)
end
setTimeout(delay,0.5)
else
ErrorCodeShow(scmd.code)
end
end
--收到羁绊回应
function MateController:on14904( )
--1答应 2拒绝
local scmd = SCMD14904.New(true)
if scmd.type == 1 then
Message.show(scmd.name .. "已同意您的羁绊请求~")
-- SocialityModel.getInstance().only_request_mate_flag = true
-- SocialityModel.getInstance():Fire(SocialityModel.REQUEST_CCMD_EVENT, 14000, 2)--请求羁绊
else
Message.show(scmd.name .. "已回绝您的羁绊请求~")
end
self.model:Fire(MateConst.REQ_CONNECT_MESSAGE)
end
--请求解除羁绊
function MateController:on14905( )
local scmd = SCMD14905.New(true)
if scmd.code == 1 then
GlobalEventSystem:Fire(EventName.PLAY_UI_EFFECT_SOUND,LuaSoundManager.SOUND_UI.SUCCESS)
if scmd.type == 2 then
Message.show("您已强制解除和对方的羁绊关系~")
-- SocialityModel.getInstance().only_request_mate_flag = true
-- SocialityModel.getInstance():Fire(SocialityModel.REQUEST_CCMD_EVENT, 14000, 2)--请求羁绊
else
Message.show("您已申请解除羁绊关系,请耐心等待对方回复~")
end
self.model:Fire(MateConst.ANS_CUT_CONNECT)
else
ErrorCodeShow(scmd.code)
end
end
--解除羁绊消息
function MateController:on14906( )
--1自己发出的|2收到的
local scmd = SCMD14906.New(true)
self.model:SetCutConnectMessage(scmd.lists)
self.model:Fire(MateConst.ANS_CUT_CONNECT_MESSAGE)
-------------------------
local have = false
for k,v in pairs(scmd.lists) do
if v.type == 2 then
--存在待处理消息
have = true
break
end
end
if have then
MsgManager:getInstance():Add({type=Config.ConfigMainIcon.TipType.mate_ans_break})
else
MsgManager:getInstance():Remove(Config.ConfigMainIcon.TipType.mate_ans_break)
end
-- SocialityModel.getInstance().only_request_mate_flag = true
-- SocialityModel.getInstance():Fire(SocialityModel.REQUEST_CCMD_EVENT, 14000, 2)--请求羁绊
end
--回应解除羁绊
function MateController:on14907( )
local scmd = SCMD14907.New(true)
if scmd.code == 1 then
GlobalEventSystem:Fire(EventName.PLAY_UI_EFFECT_SOUND,LuaSoundManager.SOUND_UI.SUCCESS)
if scmd.type == 1 then
Message.show("您已同意解除羁绊关系~")
-- SocialityModel.getInstance().only_request_mate_flag = true
-- SocialityModel.getInstance():Fire(SocialityModel.REQUEST_CCMD_EVENT, 14000, 2)--请求羁绊
else
Message.show("您已拒绝对方的解除羁绊请求~")
end
self.model:Fire(MateConst.ANS_RESPOND_CUT_CONNECT)
self.model:Fire(MateConst.REQ_CUT_CONNECT_MESSAGE)
else
ErrorCodeShow(scmd.code)
end
end
--收到解除羁绊回应
function MateController:on14908( )
local scmd = SCMD14908.New(true)
if scmd.type == 1 then
Message.show(scmd.name .. "已同意您的解除羁绊请求~")
-- SocialityModel.getInstance().only_request_mate_flag = true
-- SocialityModel.getInstance():Fire(SocialityModel.REQUEST_CCMD_EVENT, 14000, 2)--请求羁绊
else
Message.show(scmd.name .. "已拒绝您的解除羁绊请求~")
end
end
--解除羁绊预览
function MateController:on14909( )
local scmd = SCMD14909.New(true)
self.model:Fire(MateConst.ANS_LOOK_BREAK_AWARD,scmd)
end
--修改羁绊称号
function MateController:on14910( )
local scmd = SCMD14910.New(true)
if scmd.code == 1 then
GlobalEventSystem:Fire(EventName.PLAY_UI_EFFECT_SOUND,LuaSoundManager.SOUND_UI.SUCCESS)
Message.show("修改成功~")
self.model:ChangeFriendInfo("other_title",scmd.role_id,scmd.name)
self.model:Fire(MateConst.ANS_CHANGE_FRIEND_NAME)
else
ErrorCodeShow(scmd.code)
end
end
--修改羁绊备注
function MateController:on14911( )
local scmd = SCMD14911.New(true)
if scmd.code == 1 then
GlobalEventSystem:Fire(EventName.PLAY_UI_EFFECT_SOUND,LuaSoundManager.SOUND_UI.SUCCESS)
Message.show("修改成功~")
self.model:ChangeFriendInfo("remarks",scmd.role_id,scmd.remarks_id)
self.model:Fire(MateConst.ANS_CHANGE_TAG)
else
ErrorCodeShow(scmd.code)
end
end
--领取纪念日奖励
function MateController:on14912( )
local scmd = SCMD14912.New(true)
if scmd.code == 1 then
GlobalEventSystem:Fire(EventName.PLAY_UI_EFFECT_SOUND,LuaSoundManager.SOUND_UI.AWARD)
Message.show("领取成功~")
self.model:AddDailyReward(scmd.role_id,scmd.day)
self.model:Fire(MateConst.REQ_BASIC_INFO)
else
ErrorCodeShow(scmd.code)
end
end
--友谊的小船
function MateController:on14913( )
local scmd = SCMD14913.New(true)
-------------------------
local last_data = self.model:GetShipBasic()
local is_change = false
if last_data and last_data.star then
is_change = last_data.star ~= scmd.star
end
-------------------------
self.model:SetShipBasic(scmd)
self.model:Fire(MateConst.ANS_SHIP_INFO,is_change)
self:CheckRed()
end
--强化友谊的小船
function MateController:on14914( )
local scmd = SCMD14914.New(true)
if scmd.code == 1 then
GlobalEventSystem:Fire(EventName.PLAY_UI_EFFECT_SOUND,LuaSoundManager.SOUND_UI.SUCCESS)
Message.show("升级成功~")
self.model:Fire(MateConst.ANS_UPGRADE_SHIP)
else
ErrorCodeShow(scmd.code)
end
end
--称号佩戴
function MateController:on14915( )
local scmd = SCMD14915.New(true)
if scmd.code == 1 then
GlobalEventSystem:Fire(EventName.PLAY_UI_EFFECT_SOUND,LuaSoundManager.SOUND_UI.SUCCESS)
--1佩戴|2取消
if scmd.type == 1 then
Message.show("佩戴成功")
else
Message.show("卸下成功")
end
self.model:Fire(MateConst.ANS_DRESS_TITLE)
else
ErrorCodeShow(scmd.code)
end
end
--查看他人羁绊
function MateController:on14916( )
local scmd = SCMD14916.New(true)
self.model:Fire(MateConst.OPEN_FRIEND_SHARE_VIEW,scmd)
end
function MateController:on14917( )
local scmd = SCMD14917.New(true)
if scmd.code == 1490003 or scmd.code == 1490004 or scmd.code == 1490025 or scmd.code == 1 then
self.model:Fire(MateConst.ANS_CHECK_BIND_MATE, scmd.code)
else
ErrorCodeShow(scmd.code)
end
end
function MateController:on14918( )
local scmd = SCMD14918.New(true)
self.model:SetMateAdRewardStatus(scmd.state == 1 and true or false)
self.model:Fire(MateConst.ANS_MATE_AD_AWARD_STATUS)
end
function MateController:on14919( )
local scmd = SCMD14919.New(true)
if scmd.res_id ~= 1 then
ErrorCodeShow(scmd.res)
end
-- do nothing
end
--小游戏情况
function MateController:on14920( )
local scmd = SCMD14920.New(true)
self.model:SetGameInfo(scmd.lists)
self.model:Fire(MateConst.ANS_GAME_INFO)
self:CheckRed()
end
--小游戏邀请他人
function MateController:on14921( )
local scmd = SCMD14921.New(true)
if scmd.code == 1 then
GlobalEventSystem:Fire(EventName.PLAY_UI_EFFECT_SOUND,LuaSoundManager.SOUND_UI.SUCCESS)
Message.show("邀请成功,请耐心等待回复~")
self.model:SetSelectGameInfo(scmd,"invite")
else
self.model:ResetSelectGameInfo()
ErrorCodeShow(scmd.code)
end
self.model:Fire(MateConst.ANS_INVITE_ROLE)
end
--小游戏收到邀请
function MateController:on14922( )
local scmd = SCMD14922.New(true)
local need_list = {}
for k,v in pairs(scmd.lists) do
if v.type == 2 then
table.insert( need_list, v )
end
end
if TableSize(need_list) >= 1 then
Message.show("您有待处理的羁绊游戏消息~")
end
self.model:SetInviteInfo(scmd.lists)
end
--小游戏回应邀请
function MateController:on14923( )
local scmd = SCMD14923.New(true)
if scmd.code == 1 then
GlobalEventSystem:Fire(EventName.PLAY_UI_EFFECT_SOUND,LuaSoundManager.SOUND_UI.SUCCESS)
Message.show("操作成功")
if scmd.res == 1 then
self.model:SetSelectGameInfo(scmd,"together")
self.model:Fire(MateConst.ANS_INVITE_ROLE)
end
else
ErrorCodeShow(scmd.code)
end
end
--节奏大师游戏预备开始
function MateController:on14924( )
self.game_type_id = MateConst.GameActId.Music
local scmd = SCMD14924.New(true)
self.model:SetMusicGameInfo(scmd)
self.model:Fire(MateConst.OPEN_MUSIC_VIEW)
self.model:Fire(MateConst.GAME_START)
local role_list = {}
for i=1,2 do
if scmd.role_list[i] then
role_list[i] = scmd.role_list[i].role_id
end
end
self:SetGameCamera(role_list)
end
--节奏大师游戏拍点出现
function MateController:on14925( )
local scmd = SCMD14925.New(true)
self.model:Fire(MateConst.MUSIC_CREATE_DOT,scmd)
end
--节奏大师游戏换人
function MateController:on14926( )
local scmd = SCMD14926.New(true)
self.model:SetMusicPlayRole(scmd.role_id)
if scmd.role_id == RoleManager.Instance.mainRoleInfo.role_id then
Message.show("轮到你操作了~")
else
Message.show("轮到对方操作了~")
end
local show_type = scmd.role_id == RoleManager.Instance.mainRoleInfo.role_id and 1 or 2
self.model:Fire(MateConst.MUSIC_ROLE_CHANGE,show_type)
end
--节奏大师点击
function MateController:on14927( )
local scmd = SCMD14927.New(true)
end
--节奏大师正确点击广播
function MateController:on14928( )
local scmd = SCMD14928.New(true)
self.model:Fire(MateConst.MUSIC_CLEAN_TYPE,scmd.bit_id,"success")
end
--节奏大师游戏积分变化
function MateController:on14929( )
local scmd = SCMD14929.New(true)
self.model:SetMusicScore(scmd)
self.model:Fire(MateConst.MUSIC_SCORE_CHANGE)
end
--节奏大师结算
function MateController:on14930( )
self.game_type_id = nil
local function call_back( )
self:CheckRed()
end
local scmd = SCMD14930.New(true)
-- if not self.matemusicresultview then
-- self.matemusicresultview = MateGameResultView.New()
-- self.matemusicresultview:Open(MateConst.GameActId.Music,scmd,call_back)
-- end
-------------------------
scmd.act_id = MateConst.GameActId.Music
scmd.result = 1
scmd.reward_list = {}
-------------------------
scmd.special_duntype = BaseDungeonModel.DUN_TYPE.MATE
local _,lv = self.model:GetMusicAwardListAndLv( scmd )
scmd.special_score_lv = lv - 2
scmd.title_name = scmd.special_score_lv == 5 and "dun_result_win_title2" or "dun_result_win_title3"
BaseDungeonModel:getInstance():SetDunResultInfo(scmd)
BaseDungeonModel:getInstance():Fire(BaseDungeonModel.OPEN_DUNGEON_RESULT_VIEW,true)
-------------------------
self.model:Fire(MateConst.ANS_GAME_RESULT)
MainCamera.Instance:QuitMateCamera()
self:RemoveTimeClock()
self:ResetShowRole()
end
--小游戏收到回应
function MateController:on14932( )
local scmd = SCMD14932.New(true)
if scmd.type == 1 then
Message.show(scmd.name .. "答应了您的小游戏邀请~")
self.model:SetSelectGameInfo(scmd,"together")
self.model:Fire(MateConst.ANS_INVITE_ROLE)
elseif scmd.type == 2 then
Message.show(scmd.name .. "拒绝了您的小游戏邀请~")
self.model:SetSelectGameInfo(scmd,"over")
self.model:Fire(MateConst.ANS_INVITE_ROLE)
end
end
--关闭羁绊游戏
function MateController:on14934( )
local scmd = SCMD14934.New(true)
ErrorCodeShow(scmd.res)
self.model:Fire(MateConst.ANS_GAME_RESULT)
end
--抛接球进入准备界面
function MateController:on14935( )
self.game_type_id = MateConst.GameActId.Ball
local scmd = SCMD14935.New(true)
self.model:SetBallInfo(scmd.role_list)
self.model:Fire(MateConst.GAME_START)
self.model:Fire(MateConst.OPEN_BALL_VIEW)
-------------------------
local role_list = {}
for i=1,2 do
if scmd.role_list[i] then
role_list[i] = scmd.role_list[i].role_id
end
end
self:SetGameCamera(role_list)
end
--抛接球,开球
function MateController:on14936( )
local scmd = SCMD14936.New(true)
if scmd.role_id == RoleManager.Instance.mainRoleInfo.role_id then
Message.show("您开球啦~")
else
Message.show("对方开球啦~")
end
self.model:Fire(MateConst.BALL_FLY,scmd.role_id)
end
--抛接球球飞行方向
function MateController:on14938( )
local scmd = SCMD14938.New(true)
self.model:SetBallFlyInfo(scmd)
self.model:Fire(MateConst.BALL_FLY)
end
--抛接球结算
function MateController:on14939( )
self.game_type_id = nil
local scmd = SCMD14939.New(true)
-------------------------
-- local function call_back( )
-- self:CheckRed()
-- end
-- if not self.matemusicresultview then
-- self.matemusicresultview = MateGameResultView.New()
-- self.matemusicresultview:Open(MateConst.GameActId.Ball,scmd,call_back)
-- end
scmd.act_id = MateConst.GameActId.Ball
scmd.result = 1
scmd.reward_list = {}
-------------------------
scmd.special_duntype = BaseDungeonModel.DUN_TYPE.MATE
local _,lv = self.model:GetBallAwardListAndLv( scmd )
scmd.special_score_lv = lv - 2
scmd.title_name = scmd.special_score_lv == 5 and "dun_result_win_title2" or "dun_result_win_title3"
BaseDungeonModel:getInstance():SetDunResultInfo(scmd)
BaseDungeonModel:getInstance():Fire(BaseDungeonModel.OPEN_DUNGEON_RESULT_VIEW,true)
-------------------------
self.model:Fire(MateConst.ANS_GAME_RESULT)
MainCamera.Instance:QuitMateCamera()
self:RemoveTimeClock()
self:ResetShowRole()
end
--游戏准备状态
function MateController:on14940( )
local scmd = SCMD14940.New(true)
self.model:SetGameWaitStatus(scmd.lists)
self.model:Fire(MateConst.ANS_GAME_WAIT_STATUS,true)
end
--游戏准备
function MateController:on14941( )
local scmd = SCMD14941.New(true)
if scmd.res == 1 then
Message.show("准备成功!")
else
ErrorCodeShow(scmd.res)
end
end
--交友大厅 查看信息
function MateController:on14942( )
local scmd = SCMD14942.New(true)
self.model:SetFindFriendData(scmd.list)
self.model:Fire(MateConst.ANS_FIND_FRIEND_DATA)
end
--交友大厅 发布交友信息
function MateController:on14943( )
local scmd = SCMD14943.New(true)
if scmd.res == 1 then
self.model:Fire(MateConst.ANS_PUBLISH_FIND_FRIEND)
self.model:Fire(MateConst.REQ_FIND_FRIEND_DATA)
self.model:Fire(MateConst.OPEN_FIND_FRIEND_TIP,nil,true)
else
ErrorCodeShow(scmd.res)
end
end
--拍照 发出邀请
function MateController:on14945( )
local scmd = SCMD14943.New(true)
if scmd.res == 1 then
Message.show("操作成功")
else
ErrorCodeShow(scmd.res)
end
end
--拍照 收到的邀请信息
function MateController:on14946( )
local scmd = SCMD14946.New(true)
-- s2c{
-- list:array{
-- role:rec_picture // 头像
-- position_id :int8 // 地点id
-- }
-- }
end
--拍照 回应邀请
function MateController:on14947( )
local scmd = SCMD14947.New(true)
-- c2s{
-- role_id:int64 // 邀请者id
-- position_id :int8 // 地点id,用来校验一下
-- res:int8 // 1同意|2拒绝
-- }
-- s2c{
-- code:int32 // 错误码
-- role_id:int64 // 邀请者id
-- res:int8 // 1同意|2拒绝
-- // 同意邀请会广播14948
-- }
end
--拍照 活动信息
function MateController:on14948( )
local scmd = SCMD14948.New(true)
self.model:SetPhotoActInfo( scmd )
end
--拍照 准备
function MateController:on14949( )
local scmd = SCMD14949.New(true)
if scmd.code == 1 then
Message.show("操作成功~")
else
ErrorCodeShow(scmd.code)
end
end
--拍照 拍照
function MateController:on14950( )
local scmd = SCMD14950.New(true)
end
--拍照 结算
function MateController:on14951( )
local scmd = SCMD14951.New(true)
-- if scmd.num > 0 then
-- local function call_back( )
-- self:CheckRed()
-- end
-- if not self.matephotoresultview then
-- self.matephotoresultview = MateGameResultView.New()
-- self.matephotoresultview:Open(MateConst.GameActId.Photo,scmd,call_back)
-- end
-- end
end
--拍照 取消游戏
function MateController:on14952( )
local scmd = SCMD14952.New(true)
-- self.model:SetPhotoActInfo( false )
end
--############## 羁绊-日常 日常任务 ##############
function MateController:on14953( )
local scmd = SCMD14953.New(true)
-- print("==WQ==:SCMD14953 [start:1275] scmd:", scmd)
-- PrintTable(scmd)
-- print("==WQ==:MateController [end]")
self.model:SetMateDailyListInfo(scmd)
self.model:Fire(MateConst.UPDATE_MATE_DAILY_LIST_VIEW)
self:CheckRed( )
end
--############## 羁绊-日常 更新任务进度 ##############
function MateController:on14954( )
local scmd = SCMD14954.New(true)
self.model:UpdateMateDailyState(scmd)
self.model:Fire(MateConst.UPDATE_MATE_DAILY_LIST_VIEW)
self:CheckRed( )
end
--############## 羁绊-日常 领取任务奖励 ##############
function MateController:on14955( )
local scmd = SCMD14955.New(true)
if scmd.code == 1 then
--更新任务进度状态
self.model:UpdateMateDailyRewardState(scmd)
self.model:Fire(MateConst.UPDATE_MATE_DAILY_LIST_VIEW)
self:CheckRed( )
else
ErrorCodeShow(scmd.code)
end
end
function MateController:SetGameCamera( data_role )
do return end
--已经不需要屏蔽了
data_role = data_role or {}
self:RemoveTimeClock()
self:ResetShowRole()
local dir = co.Vector2(0,-1)--面向屏幕
local main_role = Scene.Instance:GetMainRole()
if not main_role then return end
MainCamera.Instance:SetMateCamera(main_role.real_pos.x,main_role.real_pos.y)
local index = 1
local function clockFun()
-- if TableSize(self.model_set_list) == 2 or index >= 50 then
-- self:RemoveTimeClock()
-- end
for k,v in pairs(data_role) do
local role_vo = Scene.Instance:GetRole(v)
-- if role_vo and not self.model_set_list[v] then
if role_vo then
role_vo:SetModelHideFlag(SceneObj.ModelHideFlag.BlockHide, true)
self.model_set_list[v] = true
end
end
index = index + 1
end
self.close_time_face_id = self.close_time_face_id or GlobalTimerQuest:AddPeriodQuest(clockFun, 0.5, -1)
end
function MateController:RemoveTimeClock( )
if self.close_time_face_id then
GlobalTimerQuest:CancelQuest(self.close_time_face_id)
self.close_time_face_id = nil
end
end
function MateController:ResetShowRole( )
--已经不需要屏蔽了
do return end
self.model_set_list = self.model_set_list or {}
for k,v in pairs(self.model_set_list) do
local role_vo = Scene.Instance:GetRole(k)
if role_vo then
role_vo:SetModelHideFlag(SceneObj.ModelHideFlag.BlockHide, false)
end
end
self.model_set_list = {}
end
function MateController:CheckRed(force_check)
local function MateControllerCheckRedDot( )
local red = false
if GetModuleIsOpen( 149 ) then
-- 有的红点需要判断是否完成前置任务
local is_finish_all_pre_task = self.model:IsFinishAllMarriageTask( 3 )
self.model:GetGameRedDot(true)
self.model:GetShipRedDot(true)
self.model:GetMarkRedDot(true)
self.model:GetGiftRedDot(true)
-- 以下两个红点得做完前置才需要显示
local mark_red = self.model:GetMarkRedDot(false) and is_finish_all_pre_task
local gift_red = self.model:GetGiftRedDot(false) and is_finish_all_pre_task
red = self.model:GetShipRedDot(false) or mark_red or self.model:GetTaskRedDot() or gift_red
local basic_data = self.model:GetBasicInfo( )
if basic_data and (TableSize(basic_data) > 0) then
--判断是否有伙伴影响羁绊游戏红点
red = red or self.model:GetGameRedDot(false)
end
--羁绊日常红点
local mate_daily_red = self.model:GetMateDailyRed(true)
red = red or mate_daily_red
--首次结成羁绊一次性红点
local mate_first_get_friend_red = self.model:GetFirstGetFriendRed()
red = red or mate_first_get_friend_red
--商店红点
local mate_shop_red = self.model:GetMateShopRed(true)
red = red or mate_shop_red
end
GlobalEventSystem:Fire(EventName.SHOW_FUNCTION_RED_POINT, 8, red)
self.model:Fire(MateConst.RedDotRefresh)
end
if force_check then
MateControllerCheckRedDot()
else
TimeManager.GetInstance():StartTime("MateControllerRedDot", 0.5, MateControllerCheckRedDot)
end
end
function MateController:CheckTaskRed( )
--任务更新,比较频繁就单独拿出来
local function check_call( )
--任务图标以及红点
local red = false
if GetModuleIsOpen( 149 ) then
red = self.model:GetShipRedDot(false) or self.model:GetMarkRedDot(false) or self.model:GetTaskRedDot()
local basic_data = self.model:GetBasicInfo( )
if basic_data and (TableSize(basic_data) > 0) then
--判断是否有伙伴影响羁绊游戏红点
red = red or self.model:GetGameRedDot(false)
end
end
GlobalEventSystem:Fire(EventName.SHOW_FUNCTION_RED_POINT, 8, red)
self.model:Fire(MateConst.RedDotRefresh)
end
TimeManager.GetInstance():StartTime("MateControllerCheckTaskRed", 1, check_call)
end
function MateController:ShowMateAdView(bool, use_close_anim, use_close_timer)
if bool then
if not self.MateAdView then
self.MateAdView = MateAdView.New()
end
self.MateAdView:Open(use_close_anim, use_close_timer)
else
if self.MateAdView then
self.MateAdView:Close()
end
self.MateAdView = nil
end
end