2025-06-04 05:02:57 +08:00

861 lines
25 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

InviteConfirmView = class("InviteConfirmView", BaseView);
InviteConfirmView.ViewType = UIViewType.IConfirmLayer
autoImport("InviteConfirmCtl");
autoImport("DesertWolfInviteCell")
local teamProxy;
local server_TeamProxy;
function InviteConfirmView:Init()
teamProxy = TeamProxy.Instance;
server_TeamProxy = ServiceSessionTeamProxy.Instance;
self:InitUI();
self:MapViewListen();
end
function InviteConfirmView:InitUI()
local inviteGrid = self:FindGO("InviteGrid");
self.desertInviteRoot = self:FindGO("Anchor_RightCenter");
self.conformCtl = InviteConfirmCtl.new(inviteGrid);
end
function InviteConfirmView:MapViewListen()
self:AddListenEvt(InviteConfirmEvent.AddInvite,self.HandleRecvAddInvite);
self:AddListenEvt(InviteConfirmEvent.RemoveInviteByType,self.HandleRemoveInviteByType);
self:AddListenEvt(ServiceEvent.SessionTeamInviteMember, self.HandleRecvInvite);
self:AddListenEvt(ServiceEvent.SessionTeamTeamSummon, self.HandleRecvFollowInvite);
self:AddListenEvt(ServiceEvent.NUserInviteJoinHandsUserCmd ,self.HandleRecvJoinHand);
self:AddListenEvt(ServiceEvent.GuildCmdInviteMemberGuildCmd, self.HandleRecvGuildInvite);
-- 道場邀請框
self:AddListenEvt(ServiceEvent.DojoDojoInviteCmd, self.HandleRecvDojoInvite);
-- 無限塔邀請框
self:AddListenEvt(ServiceEvent.InfiniteTowerTeamTowerInviteCmd, self.HandleEndlessTowerInvite);
-- 公會搬家
self:AddListenEvt(ServiceEvent.GuildCmdExchangeZoneNtfGuildCmd, self.HandleExchangeGuildZoneInvite);
-- 占卜邀請
self:AddListenEvt(ServiceEvent.SceneAuguryAuguryInvite, self.HandleAuguryInvite)
-- 邀請跟隨
self:AddListenEvt(ServiceEvent.NUserInviteFollowUserCmd, self.HandleRecvFollow);
-- 沙漠之狼隊長挑戰邀請
self:AddListenEvt(ServiceEvent.MatchCCmdRevChallengeCCmd,self.HandleRecvChallenge);
-- 沙漠之狼隊員確認挑戰
self:AddListenEvt(ServiceEvent.MatchCCmdFightConfirmCCmd,self.HandleDesertWorfConfirm);
-- 團隊接取
self:AddListenEvt(ServiceEvent.QuestInviteHelpAcceptQuestCmd, self.HandleRecvTeamWantedAcp);
-- 接受隊伍邀請
self:AddListenEvt(ServiceEvent.NUserCallTeamerUserCmd, self.HandleRecvCallTeamerReplyUserCmd);
--求婚邀請
self:AddListenEvt(ServiceEvent.NUserMarriageProposalCmd, self.HandleMarriageProposalCmd);
self:AddListenEvt(InviteConfirmEvent.Courtship_OutDistance, self.HandleMarriageProposal_OutDistance);
self:AddListenEvt(ServiceEvent.WeddingCCmdMissyouInviteWedCCmd, self.HandleMissyouInviteWedCCmd);
-- 接受結婚邀請
self:AddListenEvt(ServiceEvent.WeddingCCmdInviteBeginWeddingCCmd, self.HandleRecvInviteBeginWeddingCCmd);
--訂婚邀請
self:AddListenEvt(ServiceEvent.WeddingCCmdNtfReserveWeddingDateCCmd, self.HandleReserveWeddingDate)
--協議離婚邀請
self:AddListenEvt(ServiceEvent.WeddingCCmdDivorceRollerCoasterInviteCCmd, self.HandleDivorceRollerCoasterInvite)
-- 卡牌副本
self:AddListenEvt(ServiceEvent.PveCardInvitePveCardCmd, self.HandleCardInvitePveCardCmd)
self:AddListenEvt(ServiceEvent.NUserTwinsActionUserCmd, self.HandleRecvTwinsAction)
-- PVP集結糖漿傳送邀請
self:AddListenEvt(ServiceEvent.NUserInviteWithMeUserCmd, self.HandleRecvInviteWithMe)
-- 奧特曼副本
self:AddListenEvt(ServiceEvent.TeamRaidCmdTeamRaidInviteCmd, self.HandleAltmanInviteMsg)
--組隊看板之快速完成
self:AddListenEvt(ServiceEvent.QuestHelpQuickFinishBoardQuestCmd, self.HandleQuestHelpQuickFinish)
--亡者Boss
self:AddListenEvt(ServiceEvent.FuBenCmdInviteSummonBossFubenCmd, self.HandleInviteSummonBossFubenCmd)
end
-- 沙漠之狼挑戰 隊長邀請
function InviteConfirmView:HandleRecvChallenge(note)
local data = note.body
if(not data)then return end
local DesertWolfInviteCell=DesertWolfInviteCell.new(self.desertInviteRoot, data);
end
-- 沙漠之狼隊員確認挑戰
function InviteConfirmView:HandleDesertWorfConfirm(note)
local data = note.body
helplog("HandleDesertWorfConfirm",data.roomid)
if TeamProxy.Instance:CheckIHaveLeaderAuthority() then
return
end
local roomid = data.roomid
local teamID = Game.Myself.data:GetTeamID()
local playerid = Game.Myself.data.id
local challenger = data.challenger
local data = {
playerid = playerid,
time = GameConfig.Team.inviteovertime,
msgId = teamID==data.teamid and 969 or 979,
msgParama = {challenger},
};
data.yesevt = function (id)
ServiceMatchCCmdProxy.Instance:CallFightConfirmCCmd(PvpProxy.Type.DesertWolf, roomid,teamID,1);
end;
data.noevt = function (id)
ServiceMatchCCmdProxy.Instance:CallFightConfirmCCmd(PvpProxy.Type.DesertWolf, roomid,teamID,2);
end
self.conformCtl:AddInvite(InviteType.DesertWolf ,data);
end
-- 牽手邀請
function InviteConfirmView:HandleRecvTeamWantedAcp(note)
local leaderName = note.body.leadername;
local leaderid = note.body.leaderid;
local questid = note.body.questid;
local stData = Table_WantedQuest[questid]
local issubmit = note.body.issubmit
if(stData)then
local questName = stData.Name
local sign = note.body.sign;
local time = note.body.time;
local msgId = 4011
local data = {
playerid = sign,
time = GameConfig.Team.inviteovertime,
msgId = msgId,
msgParama = {leaderName, questName},
};
data.yesevt = function (id)
ServiceQuestProxy.Instance:CallReplyHelpAccelpQuestCmd(leaderid,questid,time,sign,true)
end;
data.endevt = function (id)
ServiceQuestProxy.Instance:CallReplyHelpAccelpQuestCmd(leaderid,questid,time,sign,true)
end;
-- data.noevt = function (id)
-- -- 拒絕sign time 不賦值為拒絕)
-- -- ServiceNUserProxy.Instance:CallJoinHandsUserCmd(masterid);
-- end
self.conformCtl:AddInvite(InviteType.TmLeaderAcp ,data);
else
helplog("unkown wantedQuest:",questid)
end
end
function InviteConfirmView:HandleRecvJoinHand(note)
local playerid = note.body.charid;
local masterid = note.body.masterid;
local username = note.body.mastername;
local sign = note.body.sign;
local time = note.body.time;
local data = {
playerid = masterid,
time = GameConfig.Team.inviteovertime,
msgId = 825,
msgParama = {username, username},
};
data.yesevt = function (id)
if(teamProxy:IHaveTeam())then
ServiceNUserProxy.Instance:CallJoinHandsUserCmd(masterid, sign, time);
else
MsgManager.ShowMsgByIDTable(827);
end
end;
data.noevt = function (id)
-- 拒絕sign time 不賦值為拒絕)
ServiceNUserProxy.Instance:CallJoinHandsUserCmd(masterid);
end
self.conformCtl:AddInvite(InviteType.JoinHand ,data);
end
function InviteConfirmView:HandleRecvAddInvite(note)
local data = note.body;
data.yestip = ZhString.InviteConfirmView_Join;
local yesevt = data.yesevt;
self.conformCtl:AddInvite(InviteType.Carrier ,data);
end
function InviteConfirmView:HandleRemoveInviteByType(note)
self.conformCtl:ClearInviteMap(note.body);
end
function InviteConfirmView:HandleRecvInvite(note)
local playerid = note.body.userguid;
local teamname = note.body.teamname;
local username = note.body.username;
local data = {
playerid = playerid,
time = GameConfig.Team.inviteovertime,
msgId = 323,
msgParama = {teamname, username},
};
data.yesevt = function (id)
server_TeamProxy:CallProcessTeamInvite(SessionTeam_pb.ETEAMINVITETYPE_AGREE, id);
end;
data.noevt = function (id)
server_TeamProxy:CallProcessTeamInvite(SessionTeam_pb.ETEAMINVITETYPE_DISAGREE, id);
end
self.conformCtl:AddInvite(InviteType.Team ,data);
end
function InviteConfirmView:HandleRecvFollowInvite(note)
local leader = self.MyTeam():GetLeader();
local raid = note.body.raidid;
local data = {
playerid = leader.id,
time = 20,
msgId = 406,
msgParama = {leader.name, Table_MapRaid[raid].NameZh},
};
data.yesevt = function (id)
local nowFollowID = Game.Myself:Client_GetFollowLeaderID();
if(not nowFollowID or nowFollowID == 0)then
self:sendNotification(FollowEvent.Follow, id);
else
MsgManager.ShowMsgByIDTable(404);
end
end;
self.conformCtl:AddInvite(InviteType.Carrier ,data);
end
-- 公會邀請
function InviteConfirmView:HandleRecvGuildInvite(note)
local guildid = note.body.guildid;
local playername = note.body.invitename;
local guildname = note.body.guildname;
if(guildid and guildname)then
local data = {
playerid = guildid,
time = GameConfig.Team.inviteovertime,
msgId = 2632,
msgParama = {playername, guildname},
};
data.yesevt = function (id)
ServiceGuildCmdProxy.Instance:CallProcessInviteGuildCmd(GuildCmd_pb.EGUILDACTION_AGREE, id);
end;
data.noevt = function (id)
ServiceGuildCmdProxy.Instance:CallProcessInviteGuildCmd(GuildCmd_pb.EGUILDACTION_DISAGREE, id);
end
self.conformCtl:AddInvite(InviteType.Guild ,data);
end
end
function InviteConfirmView:HandleRecvDojoInvite(note)
local sponsorid = note.body.sponsorid;
local sponsorname = note.body.sponsorname;
local dojoid = note.body.dojoid;
if(sponsorid and sponsorname and dojoid)then
local dojoName = Table_Guild_Dojo[dojoid] and Table_Guild_Dojo[dojoid].Name or ""
local data = {
playerid = sponsorid,
time = GameConfig.Team.inviteovertime,
msgId = 406,
msgParama = {sponsorname, dojoName},
};
data.yesevt = function (id)
local lvreq = DojoProxy.Instance:GetGroupLvreq(dojoid)
if lvreq and MyselfProxy.Instance:RoleLevel() < lvreq then
MsgManager.ShowMsgByID(2950)
ServiceDojoProxy.Instance:CallDojoReplyCmd( Dojo_pb.EDOJOREPLY_DISAGREE )
return
end
ServiceDojoProxy.Instance:CallDojoReplyCmd( Dojo_pb.EDOJOREPLY_AGREE )
-- self:sendNotification(FollowEvent.Follow, id)
end;
data.noevt = function (id)
ServiceDojoProxy.Instance:CallDojoReplyCmd( Dojo_pb.EDOJOREPLY_DISAGREE )
end
self.conformCtl:AddInvite(InviteType.Dojo ,data);
end
end
function InviteConfirmView:HandleEndlessTowerInvite(note)
if(not teamProxy:IHaveTeam())then
return;
end
local leaderId = teamProxy.myTeam:GetNowLeader().id;
local data = {
playerid = leaderId;
time = GameConfig.Team.inviteovertime,
msgId = 1311,
};
data.yesevt = function (id)
ServiceInfiniteTowerProxy.Instance:CallTeamTowerReplyCmd(InfiniteTower_pb.ETOWERREPLY_AGREE ,Game.Myself.data.id)
self:sendNotification(FollowEvent.Follow, leaderId)
end;
data.noevt = function (id)
ServiceInfiniteTowerProxy.Instance:CallTeamTowerReplyCmd(InfiniteTower_pb.ETOWERREPLY_DISAGREE ,Game.Myself.data.id)
end
self.conformCtl:AddInvite(InviteType.EndlessTower ,data);
end
-- exchange guild zoneid begin
function InviteConfirmView.AgreeExchangeGuildZone(id)
ServiceGuildCmdProxy.Instance:CallExchangeZoneAnswerGuildCmd(true)
end
function InviteConfirmView.RefuseExchangeGuildZone(id)
ServiceGuildCmdProxy.Instance:CallExchangeZoneAnswerGuildCmd(false)
end
function InviteConfirmView:HandleExchangeGuildZoneInvite(note)
local curzoneid = note.body.curzoneid;
curzoneid = ChangeZoneProxy.Instance:ZoneNumToString(curzoneid);
local nextzoneid = note.body.nextzoneid;
nextzoneid = ChangeZoneProxy.Instance:ZoneNumToString(nextzoneid);
local data = {
playerid = "Temp",
time = GameConfig.Team.inviteovertime,
msgId = 3081,
msgParama = {nextzoneid, nextzoneid},
};
data.yesevt = InviteConfirmView.AgreeExchangeGuildZone;
data.noevt = InviteConfirmView.RefuseExchangeGuildZone;
data.endevt = InviteConfirmView.RefuseExchangeGuildZone;
self.conformCtl:AddInvite(InviteType.Guild ,data);
end
-- exchange guild zoneid end
-- Augury Invite begin
function InviteConfirmView:HandleAuguryInvite(note)
local body = note.body
local inviterid = body.inviterid
local invitername = body.invitername
local npcId = body.npcguid
local augurytype = body.type
local isextra = body.isextra
local data = {
playerid = inviterid,
time = GameConfig.Team.inviteovertime,
msgId = 928,
msgParama = {invitername},
};
data.yesevt = function (id)
if npcId then
local npc = NSceneNpcProxy.Instance:Find(npcId)
if npc and VectorUtility.DistanceXZ( Game.Myself:GetPosition(), npc:GetPosition() ) <= GameConfig.Augury.Range then
ServiceSceneAuguryProxy.Instance:CallAuguryInviteReply( SceneAugury_pb.EReplyType_Agree , id , npcId, augurytype, isextra)
else
ServiceSceneAuguryProxy.Instance:CallAuguryInviteReply( SceneAugury_pb.EReplyType_Refuse , id , npcId, augurytype, isextra)
end
end
end
data.noevt = function (id)
ServiceSceneAuguryProxy.Instance:CallAuguryInviteReply( SceneAugury_pb.EReplyType_Refuse , id , npcId, augurytype, isextra)
end
data.endevt = function (id)
ServiceSceneAuguryProxy.Instance:CallAuguryInviteReply( SceneAugury_pb.EReplyType_Refuse , id , npcId, augurytype, isextra)
end
self.conformCtl:AddInvite(InviteType.Augury ,data)
end
-- Augury Invite end
function InviteConfirmView:HandleRecvFollow(note)
local playerid = note.body.charid;
if(Game.Myself and Game.Myself:Client_GetFollowLeaderID() == playerid)then
return;
end
if(teamProxy:IHaveTeam())then
local memData = teamProxy.myTeam:GetMemberByGuid(playerid);
if(not memData)then
errorLog("No Member When Recv FollowInvite");
return;
end
local data = {
playerid = playerid,
time = GameConfig.Team.inviteovertime,
msgId = 344,
msgParama = {memData.name},
};
local yesevt = function (id)
if(Game.Myself:IsDead())then
MsgManager.ShowMsgByIDTable(2500);
return;
end
if(memData.zoneid ~= MyselfProxy.Instance:GetZoneId())then
MsgManager.ShowMsgByIDTable(3056);
return;
end
GameFacade.Instance:sendNotification(FollowEvent.Follow ,id);
end;
data.yesevt = yesevt;
data.endevt = function (id)
local myMemberData = teamProxy:GetMyTeamMemberData();
if(myMemberData and myMemberData.autofollow == 1)then
yesevt(id);
end
end
self.conformCtl:AddInvite(InviteType.Follow ,data);
else
errorLog("No Team When Recv FollowInvite");
end
end
function InviteConfirmView:HandleRecvCallTeamerReplyUserCmd(note)
local playerid = note.body.masterid;
local sign = note.body.sign;
local time = note.body.time;
if(teamProxy:IHaveTeam())then
local memData = teamProxy.myTeam:GetMemberByGuid(playerid);
if(not memData)then
errorLog("No Member When Recv FollowInvite");
return;
end
local data = {
playerid = playerid,
time = 5,
msgId = 344,
msgParama = {note.body.username},
};
local yesevt = function (id)
ServiceNUserProxy.Instance:CallCallTeamerReplyUserCmd(playerid, sign, time);
end;
data.yesevt = yesevt;
data.endevt = yesevt;
self.conformCtl:AddInvite(InviteType.Follow ,data);
else
errorLog("No Team When Recv FollowInvite");
end
end
local marriageProposal_Map = {};
function InviteConfirmView:HandleMarriageProposalCmd(note)
local server_data = note.body;
if(server_data == nil)then
return;
end
local masterid = server_data.masterid;
local mastername = server_data.mastername;
local itemid = server_data.itemid;
local sign = server_data.sign;
local server_time = server_data.time;
local gameconfig_wedding = GameConfig.Wedding;
local overtime, msgId = 5, 344;
if(gameconfig_wedding)then
overtime, msgId = gameconfig_wedding.Courtship_InviteOverTime, gameconfig_wedding.Courtship_InviteMsgId;
end
local data = {
playerid = masterid,
time = overtime,
msgId = msgId,
};
local msgData = Table_Sysmsg[ msgId ];
local msgTitle = msgData.Title;
if(msgTitle)then
msgTitle = string.format(msgTitle, mastername);
data.tip = msgTitle;
end
data.yesevt = function (id)
FunctionWedding.Me():RemoveCourtshipDistanceCheck(id);
ServiceNUserProxy.Instance:CallMarriageProposalReplyCmd(id,
SceneUser2_pb.EPROPOSALREPLY_YES,
server_time,
sign);
marriageProposal_Map[id] = nil;
end
data.noevt = function (id)
FunctionWedding.Me():RemoveCourtshipDistanceCheck(id);
ServiceNUserProxy.Instance:CallMarriageProposalReplyCmd(id,
SceneUser2_pb.EPROPOSALREPLY_NO,
server_time,
sign)
marriageProposal_Map[id] = nil;
end
data.endevt = function (id)
FunctionWedding.Me():RemoveCourtshipDistanceCheck(id);
ServiceNUserProxy.Instance:CallMarriageProposalReplyCmd(id,
SceneUser2_pb.EPROPOSALREPLY_CANCEL,
server_time,
sign,
itemid)
marriageProposal_Map[id] = nil;
end
marriageProposal_Map[masterid] = { sign, server_time };
self.conformCtl:AddInvite(InviteType.Courtship ,data)
end
function InviteConfirmView:HandleMarriageProposal_OutDistance(note)
local playerid = note.body;
if(playerid == nil)then
return;
end
local cacheInfo = marriageProposal_Map[playerid];
if(cacheInfo == nil)then
return;
end
local sign, server_time = cacheInfo[1], cacheInfo[2];
ServiceNUserProxy.Instance:CallMarriageProposalReplyCmd(id,
SceneUser2_pb.EPROPOSALREPLY_OUTRANGE,
server_time,
sign)
end
function InviteConfirmView:HandleRecvInviteBeginWeddingCCmd(note)
local server_data = note.body;
local masterid = server_data.masterid;
local myname = Game.Myself.data.name;
local name = server_data.name;
local tocharid = server_data.tocharid;
local gameconfig_wedding = GameConfig.Wedding;
local overtime, msgId = 5, 344;
if(gameconfig_wedding)then
overtime, msgId = gameconfig_wedding.Cememony_InviteOverTime, gameconfig_wedding.Cememony_InviteMsgId;
end
local msgData = Table_Sysmsg[ msgId ];
local msgTitle, msgText = msgData.Title, msgData.Text;
local data = {
playerid = masterid,
time = overtime,
msgId = msgId,
};
if(msgTitle ~= "")then
msgTitle = string.format(msgTitle, myname, name);
data.tip = msgTitle;
end
data.yesevt = function (id)
ServiceWeddingCCmdProxy.Instance:CallReplyBeginWeddingCCmd(masterid)
end
data.noevt = function (id)
end
data.endevt = function (id)
end
self.conformCtl:AddInvite(InviteType.WeddingCemoney ,data)
end
function InviteConfirmView:HandleRecvInviteWeddingStartNtf(note)
local itemguid = note.body.itemguid;
if(itemguid == nil)then
return;
end
local itemData = BagProxy.Instance:GetItemByGuid(itemguid);
if(itemData == nil)then
return;
end
local weddingData = itemData.weddingData;
if(weddingData == nil)then
return;
end
-- type playerid, tip, lab, yesevt, noevt, endevt, time, msgId, msgParama, agreeNoClose
local gameconfig_wedding = GameConfig.Wedding;
local overtime, msgId = 5, 344;
if(gameconfig_wedding)then
overtime, msgId = gameconfig_wedding.Cememony_InviteOverTime, gameconfig_wedding.Cememony_Invite_GotoMsgId;
end
local msgData = Table_Sysmsg[ msgId ];
local msgTitle, msgText = msgData.Title, msgData.Text;
local data = {
playerid = itemguid,
time = overtime,
msgId = msgId,
};
if(msgTitle ~= "")then
-- msgTitle = string.format(msgTitle, );
end
data.yesevt = function (id)
ServiceWeddingCCmdProxy.Instance:CallReplyBeginWeddingCCmd(tocharid)
end
data.noevt = function (id)
end
data.endevt = function (id)
end
self.conformCtl:AddInvite(InviteType.WeddingCemoney ,data)
end
function InviteConfirmView:HandleReserveWeddingDate(note)
local serverData = note.body
local zoneid = serverData.zoneid % 10000
local starttime = os.date("*t", serverData.starttime)
local endtime = os.date("*t", serverData.endtime)
local title = Table_Sysmsg[9609]
title = string.format(title.Title, serverData.name)
local data = {
playerid = serverData.charid1,
time = GameConfig.Wedding.EngageInviteOverTime,
msgId = 9609,
tip = title,
msgParama = {starttime.month, starttime.day, starttime.hour, endtime.hour, ChangeZoneProxy.Instance:ZoneNumToString(zoneid)},
}
data.yesevt = function (id)
ServiceWeddingCCmdProxy.Instance:CallReplyReserveWeddingDateCCmd(serverData.date, serverData.configid, id, WeddingCCmd_pb.EReply_Agree,
serverData.time, serverData.use_ticket, serverData.zoneid, serverData.sign)
end
data.noevt = function (id)
ServiceWeddingCCmdProxy.Instance:CallReplyReserveWeddingDateCCmd(serverData.date, serverData.configid, id, WeddingCCmd_pb.EReply_Refuse,
serverData.time, serverData.use_ticket, serverData.zoneid, serverData.sign)
end
data.endevt = function (id)
ServiceWeddingCCmdProxy.Instance:CallReplyReserveWeddingDateCCmd(serverData.date, serverData.configid, id, WeddingCCmd_pb.EReply_Refuse,
serverData.time, serverData.use_ticket, serverData.zoneid, serverData.sign)
end
self.conformCtl:AddInvite(InviteType.Engage ,data)
end
function InviteConfirmView:HandleDivorceRollerCoasterInvite(note)
local serverData = note.body
local data = {
playerid = serverData.inviter,
time = GameConfig.Wedding.Divorce_OverTime,
msgId = 9612,
msgParama = {serverData.inviter_name},
}
data.yesevt = function (id)
ServiceWeddingCCmdProxy.Instance:CallDivorceRollerCoasterReplyCCmd(id, WeddingCCmd_pb.EReply_Agree)
end
data.noevt = function (id)
ServiceWeddingCCmdProxy.Instance:CallDivorceRollerCoasterReplyCCmd(id, WeddingCCmd_pb.EReply_Refuse)
end
data.endevt = function (id)
ServiceWeddingCCmdProxy.Instance:CallDivorceRollerCoasterReplyCCmd(id, WeddingCCmd_pb.EReply_Refuse)
end
self.conformCtl:AddInvite(InviteType.ConsentDivorce ,data)
end
function InviteConfirmView:HandleQuestHelpQuickFinish(note)
local serverData = note.body
local data = {
playerid = serverData.questid,
msgId = 25443 ,
time = 3,
msgParama = {serverData.leadername},
}
data.endevt = function (id)
ServiceQuestProxy.Instance:CallQuestAction(SceneQuest_pb.EQUESTACTION_QUICK_SUBMIT_BOARD,id)
end
self.conformCtl:AddInvite(InviteType.HelpFinishQuest ,data)
end
function InviteConfirmView:HandleMissyouInviteWedCCmd(note)
local playerid = Game.Myself.data.id;
local msgId = GameConfig.Wedding.MissYou_Inviteid or 969;
local data = {
playerid = playerid,
time = GameConfig.Team.inviteovertime,
msgId = msgId,
msgParama = {},
};
data.yesevt = function (id)
ServiceWeddingCCmdProxy.Instance:CallMisccyouReplyWedCCmd(true)
end;
data.noevt = function (id)
ServiceWeddingCCmdProxy.Instance:CallMisccyouReplyWedCCmd(false)
end
self.conformCtl:AddInvite(InviteType.DesertWolf ,data);
end
function InviteConfirmView:HandleCardInvitePveCardCmd(note)
local playerid, iscancel = note.body.configid, note.body.iscancel;
local msgId = GameConfig.CardRaid.invitemsg or 969;
local data = {
playerid = playerid,
time = GameConfig.Team.inviteovertime,
msgId = msgId,
msgParama = {},
};
data.yesevt = function (id)
ServicePveCardProxy.Instance:CallReplyPveCardCmd(true, id)
end;
data.noevt = function (id)
ServicePveCardProxy.Instance:CallReplyPveCardCmd(false, id)
end
self.conformCtl:AddInvite(InviteType.RaidCard ,data);
end
function InviteConfirmView:HandleRecvTwinsAction(note)
local userid, etype = note.body.userid, note.body.etype;
if(etype ~= SceneUser2_pb.ETWINS_OPERATION_REQUEST)then
return;
end
local myTeam = TeamProxy.Instance.myTeam;
local memberData = myTeam and myTeam:GetMemberByGuid(userid)
local name = memberData and memberData.name or ""
local msgId = 393;
if(Table_Sysmsg[393] == nil)then
msgId = 969;
end
local data = {
playerid = userid,
time = 10,
msgId = msgId,
msgParama = {name},
};
data.yesevt = function (id)
ServiceNUserProxy.Instance:CallTwinsActionUserCmd(userid,
nil,
SceneUser2_pb.ETWINS_OPERATION_AGREE);
end;
data.noevt = function (id)
ServiceNUserProxy.Instance:CallTwinsActionUserCmd(userid,
nil,
SceneUser2_pb.ETWINS_OPERATION_DISAGREE);
end
data.endevt = function (id)
ServiceNUserProxy.Instance:CallTwinsActionUserCmd(userid,
nil,
SceneUser2_pb.ETWINS_OPERATION_DISAGREE);
end
self.conformCtl:AddInvite(InviteType.DoubleAction , data);
end
-- PVP集結糖漿傳送邀請
function InviteConfirmView:HandleRecvInviteWithMe(note)
local serverData = note.body;
local messageId = 25521;
if(Table_Sysmsg[25521] == nil)then
messageId = 969;
errorLog("Message ID: 25521 is not exist")
end
local data = {
playerid = serverData.sendid,
time = GameConfig.Team.inviteovertime,
msgId = messageId,
msgParama = {},
};
data.yesevt = function (id)
ServiceNUserProxy.Instance:CallInviteWithMeUserCmd(serverData.sendid,
serverData.time,
true,
serverData.sign);
end;
data.noevt = function (id)
ServiceNUserProxy.Instance:CallInviteWithMeUserCmd(serverData.sendid,
serverData.time,
false,
serverData.sign);
end
data.endevt = function (id)
ServiceNUserProxy.Instance:CallInviteWithMeUserCmd(serverData.sendid,
serverData.time,
false,
serverData.sign);
end
self.conformCtl:AddInvite(InviteType.InviteWithMe, data);
end
function InviteConfirmView:HandleAltmanInviteMsg(note)
-- local userid, raid_type = note.body.userid, note.body.raid_type;
local msgId = GameConfig.Altman.invite_msgid or 323;
local data = {
playerid = Game.Myself.data.id,
time = 10,
msgId = msgId,
};
-- if(raid_type ~= 31)then
-- return;
-- end
data.yesevt = function (id)
local myTeam = TeamProxy.Instance.myTeam;
if(myTeam == nil)then
redlog("No Team");
return;
end
local nowleader = myTeam:GetNowLeader();
if(nowleader == nil)then
redlog("No Leader");
return;
end
GameFacade.Instance:sendNotification(FollowEvent.Follow ,nowleader.id);
ServiceTeamRaidCmdProxy.Instance:CallTeamRaidReplyCmd(true, Game.Myself.data.id, FuBenCmd_pb.ERAIDTYPE_ALTMAN);
end
data.noevt = function (id)
ServiceTeamRaidCmdProxy.Instance:CallTeamRaidReplyCmd(false, Game.Myself.data.id, FuBenCmd_pb.ERAIDTYPE_ALTMAN);
end
self.conformCtl:AddInvite(InviteType.AltMan , data);
end
function InviteConfirmView:HandleInviteSummonBossFubenCmd(note)
local msgId = GameConfig.Altman.invite_msgid or 25921;
local data = {
playerid = Game.Myself.data.id,
time = 10,
msgId = msgId,
};
data.yesevt = function (id)
ServiceFuBenCmdProxy.Instance:CallReplySummonBossFubenCmd(nil, true)
end
data.noevt = function (id)
ServiceFuBenCmdProxy.Instance:CallReplySummonBossFubenCmd(nil, false)
end
self.conformCtl:AddInvite(InviteType.PveCard, data);
end