autoImport('ServiceUserEventAutoProxy') ServiceUserEventProxy = class('ServiceUserEventProxy', ServiceUserEventAutoProxy) ServiceUserEventProxy.Instance = nil ServiceUserEventProxy.NAME = 'ServiceUserEventProxy' autoImport('UIModelMonthlyVIP') autoImport('UIModelZenyShop') autoImport('MonthlyVIPTip') function ServiceUserEventProxy:ctor(proxyName) if ServiceUserEventProxy.Instance == nil then self.proxyName = proxyName or ServiceUserEventProxy.NAME ServiceProxy.ctor(self, self.proxyName) self:Init() ServiceUserEventProxy.Instance = self end end function ServiceUserEventProxy:RecvFirstActionUserEvent(data) FunctionFirstTime.Me():SyncServerRecord(data.firstaction) -- self:Notify(ServiceEvent.UserEventFirstActionUserEvent, data) end function ServiceUserEventProxy:RecvNewTitle(data) -- printRed("RecvNewTitle",data.title_data.id) MyselfProxy.Instance:newTitle(data) self:Notify(ServiceEvent.UserEventNewTitle, data) end function ServiceUserEventProxy:RecvAllTitle(data) -- printRed("RecvAllTitle",#data.title_datas) MyselfProxy.Instance:initAllTitle(data) TitleProxy.Instance:SetServiceData(data.title_datas) end function ServiceUserEventProxy:RecvChangeTitle(data) -- helplog("RecvChangeTitle:",data.charid,Game.Myself.data.id,data.title_data.id) local player = NSceneUserProxy.Instance:Find(data.charid); if(player)then player:Sever_SetTitleID(data.title_data) TitleProxy.Instance:SetServiceData(data.title_data) end EventManager.Me():DispatchEvent(ServiceEvent.UserEventChangeTitle, data); self:Notify(ServiceEvent.UserEventChangeTitle, data) end function ServiceUserEventProxy:RecvUpdateRandomUserEvent(data) MyselfProxy.Instance:UpdateRandomFunc(data.randoms, data.beginindex, data.endindex) self:Notify(ServiceEvent.UserEventUpdateRandomUserEvent, data) end function ServiceUserEventProxy:RecvBuffDamageUserEvent(data) local creature = SceneCreatureProxy.FindCreature(data.charid) if(creature) then creature:PlayDamage_Effect(data.damage,data.etype) end end function ServiceUserEventProxy:RecvDepositCardInfo(data) self:Notify(ServiceEvent.UserEventDepositCardInfo, data) local monthCardData = nil local cardDatas = data.card_datas for _, v in ipairs(cardDatas) do if v.type == ProtoCommon_pb.ETITLE_TYPE_MONTH then monthCardData = v break end end if monthCardData ~= nil then UIModelMonthlyVIP.Instance():Set_TimeOfLatestPurchaseMonthlyVIP(monthCardData.starttime) UIModelMonthlyVIP.Instance():Set_TimeOfExpirationMonthlyVIP(monthCardData.expiretime) end end function ServiceUserEventProxy:AmIMonthlyVIP() return UIModelMonthlyVIP.Instance():AmIMonthlyVIP() end function ServiceUserEventProxy:CallDelTransformUserEvent() ServiceUserEventProxy.super.CallDelTransformUserEvent(self) end function ServiceUserEventProxy:CallChangeTitle(title_data, charid) ServiceUserEventProxy.super.CallChangeTitle(self,title_data,charid) end function ServiceUserEventProxy:RecvChargeNtfUserEvent(data) self:Notify(ServiceEvent.UserEventChargeNtfUserEvent, data) EventManager.Me():PassEvent(ServiceEvent.UserEventChargeNtfUserEvent, data) end function ServiceUserEventProxy:RecvQueryChargeCnt(data) -- this protocol only be used for lucky bag and ep card local info = data.info for i = 1, #info do local purchaseInfo = info[i] local productConfID = purchaseInfo.dataid local purchaseTimes = purchaseInfo.count local purchaseLimit = purchaseInfo.limit local productConf = Table_Deposit[productConfID] if productConf.LimitType ~= 6 -- is sold and productConf.Type == 4 and productConf.Switch == 1 then -- is being sold UIModelZenyShop.Ins():SetLuckyBagPurchaseTimes(productConfID, purchaseTimes) UIModelZenyShop.Ins():SetLuckyBagPurchaseLimit(productConfID, purchaseLimit) end end self:Notify(ServiceEvent.UserEventQueryChargeCnt, data) EventManager.Me():PassEvent(ServiceEvent.UserEventQueryChargeCnt, data) end function ServiceUserEventProxy:RecvNTFMonthCardEnd(data) self:Notify(ServiceEvent.UserEventNTFMonthCardEnd, data) MonthlyVIPTip.Ins():ShowTip() end function ServiceUserEventProxy:RecvQueryResetTimeEventCmd(data) if(data.etype == AERewardType.Tower)then EndlessTowerProxy.Instance:Server_SerResetTime(data.resettime); EventManager.Me():PassEvent(ServiceEvent.UserEventQueryResetTimeEventCmd, data.resettime) end self:Notify(ServiceEvent.UserEventQueryResetTimeEventCmd, data) end function ServiceUserEventProxy:RecvQueryActivityCnt(data) self:Notify(ServiceEvent.UserEventQueryActivityCnt, data) local purchaseActivityInfos = data.info for i = 1, #purchaseActivityInfos do local activityID = purchaseActivityInfos[i].activityid local activityUsedTimes = purchaseActivityInfos[i].count UIModelZenyShop.Ins():SetActivityUsedTimes(activityID, activityUsedTimes) end end function ServiceUserEventProxy:RecvUpdateActivityCnt(data) local purchaseActivityInfo = data.info local activityID = purchaseActivityInfo.activityid local activityUsedTimes = purchaseActivityInfo.count UIModelZenyShop.Ins():SetActivityUsedTimes(activityID, activityUsedTimes) self:Notify(ServiceEvent.UserEventUpdateActivityCnt, data) EventManager.Me():PassEvent(ServiceEvent.UserEventUpdateActivityCnt, data) end function ServiceUserEventProxy:RecvDieTimeCountEventCmd(data) MyselfProxy.Instance:HandleRelieveCd(data) self:Notify(ServiceEvent.UserEventDieTimeCountEventCmd, data) end function ServiceUserEventProxy:RecvNtfVersionCardInfo(data) UIModelZenyShop.Ins():SetEPVIPCards(data.info) self:Notify(ServiceEvent.UserEventNtfVersionCardInfo, data) end function ServiceUserEventProxy:RecvChargeQueryCmd(data) self:Notify(ServiceEvent.UserEventChargeQueryCmd, data) EventManager.Me():PassEvent(ServiceEvent.UserEventChargeQueryCmd, data) end function ServiceUserEventProxy:CallUserEventQueryStageCmd(stageid, info) self.super:CallUserEventQueryStageCmd(stageid, info) redlog("CallUserEventQueryStageCmd",stageid) end function ServiceUserEventProxy:RecvUserEventQueryStageCmd(data) self.super:RecvUserEventQueryStageCmd(data) StageProxy.Instance:RecvStageInfo(data) local len = 0 if data.info then len = #data.info if len == 3 then StageProxy.Instance:ShowDialog() elseif len == 1 then StageProxy.Instance:ShowTip() end end redlog("RecvUserEventQueryStageCmd") self:Notify(ServiceEvent.UserEventUserEventQueryStageCmd, data) end function ServiceUserEventProxy:CallUserEventLineUpCmd(stageid, mode, enter) self.super:CallUserEventLineUpCmd(stageid, mode, enter) redlog("CallUserEventLineUpCmd",stageid, mode, enter) end