hengyang_client/lua_probject/base_project/Game/View/Family/FamilyEventView.lua

370 lines
12 KiB
Lua

local FGInvitedMsgView = import('.FamilyInvitedMsgView')
local FamilyEventView = {}
local M = FamilyEventView
function FamilyEventView.new(root)
setmetatable(M, { __index = root })
local self = setmetatable({}, { __index = M })
local mgr_ctr = self._mgr_ctr
mgr_ctr:AddEventListener(GroupMgrEvent.AddPlay, handler(self, self._evtAddPlay))
mgr_ctr:AddEventListener(GroupMgrEvent.DelPlay, handler(self, self._evtDelPlay))
mgr_ctr:AddEventListener(GroupMgrEvent.UpdatePlay, handler(self, self._evtUpdatePlay))
mgr_ctr:AddEventListener(GroupMgrEvent.AddRoom, handler(self, self._evtAddRoom))
mgr_ctr:AddEventListener(GroupMgrEvent.DelRoom, handler(self, self._evtDelRoom))
mgr_ctr:AddEventListener(GroupMgrEvent.UpdateRoom, handler(self, self._evtUpdateRoom))
mgr_ctr:AddEventListener(GroupMgrEvent.UpdatePlayerInfo, handler(self, self._evtUpdatePlayerInfo))
--mgr_ctr:AddEventListener(GroupMgrEvent.BeInvited, handler(self, self._evtInvited))
mgr_ctr:AddEventListener(GroupMgrEvent.UpdateGroup, handler(self, self._evtUpdateGroup))
mgr_ctr:AddEventListener(GroupMgrEvent.NewMailTip, handler(self, self._evtNewMailTip))
mgr_ctr:AddEventListener(GroupMgrEvent.InviteResponse, handler(self, self._evtInviteResponse))
mgr_ctr:AddEventListener(GroupMgrEvent.IsOpenChatRoom, handler(self, self._evtIsOpenChatRoom))
mgr_ctr:AddEventListener(GroupMgrEvent.ChatRoomData, handler(self, self._evtChatRoomData))
mgr_ctr:AddEventListener(GroupMgrEvent.OnNewApply, handler(self, self._evtOnNewApply))
mgr_ctr:AddEventListener(GroupMgrEvent.OnNewRecord, handler(self, self._evtOnNewRecord))
mgr_ctr:AddEventListener(GroupMgrEvent.Onpush_assistant, handler(self, self._evtOnPush_assistant))
mgr_ctr:AddEventListener(GroupMgrEvent.OnMemberState, handler(self, self._evtOnMemberState))
mgr_ctr:AddEventListener(GroupMgrEvent.OnFamilyReflash, handler(self, self._evtOnFamilyReflash))
mgr_ctr:AddEventListener(GroupMgrEvent.OnFamilyRoomReflash, handler(self, self._evtOnFamilyRoomReflash))
mgr_ctr:AddEventListener(GroupMgrEvent.OnFamilyMemberOut, handler(self, self._evtOnFamilyMemberOut))
print("家族添加监听")
return self
end
function M:RemoveAll()
local mgr_ctr = self._mgr_ctr
mgr_ctr:RemoveEventListener(GroupMgrEvent.AddPlay, handler(self, self._evtAddPlay))
mgr_ctr:RemoveEventListener(GroupMgrEvent.DelPlay, handler(self, self._evtDelPlay))
mgr_ctr:RemoveEventListener(GroupMgrEvent.UpdatePlay, handler(self, self._evtUpdatePlay))
mgr_ctr:RemoveEventListener(GroupMgrEvent.AddRoom, handler(self, self._evtAddRoom))
mgr_ctr:RemoveEventListener(GroupMgrEvent.DelRoom, handler(self, self._evtDelRoom))
mgr_ctr:RemoveEventListener(GroupMgrEvent.UpdateRoom, handler(self, self._evtUpdateRoom))
mgr_ctr:RemoveEventListener(GroupMgrEvent.UpdatePlayerInfo, handler(self, self._evtUpdatePlayerInfo))
--mgr_ctr:RemoveEventListener(GroupMgrEvent.BeInvited, handler(self, self._evtInvited))
mgr_ctr:RemoveEventListener(GroupMgrEvent.UpdateGroup, handler(self, self._evtUpdateGroup))
mgr_ctr:RemoveEventListener(GroupMgrEvent.NewMailTip, handler(self, self._evtNewMailTip))
mgr_ctr:RemoveEventListener(GroupMgrEvent.InviteResponse, handler(self, self._evtInviteResponse))
mgr_ctr:RemoveEventListener(GroupMgrEvent.IsOpenChatRoom, handler(self, self._evtIsOpenChatRoom))
mgr_ctr:RemoveEventListener(GroupMgrEvent.ChatRoomData, handler(self, self._evtChatRoomData))
mgr_ctr:RemoveEventListener(GroupMgrEvent.OnNewApply, handler(self, self._evtOnNewApply))
mgr_ctr:RemoveEventListener(GroupMgrEvent.OnNewRecord, handler(self, self._evtOnNewRecord))
mgr_ctr:RemoveEventListener(GroupMgrEvent.Onpush_assistant, handler(self, self._evtOnPush_assistant))
mgr_ctr:RemoveEventListener(GroupMgrEvent.OnMemberState, handler(self, self._evtOnMemberState))
mgr_ctr:RemoveEventListener(GroupMgrEvent.OnFamilyRoomReflash, handler(self, self._evtOnFamilyRoomReflash))
mgr_ctr:RemoveEventListener(GroupMgrEvent.OnFamilyMemberOut, handler(self, self._evtOnFamilyMemberOut))
print("家族去除监听")
end
function M:_evtAddPlay(...)
local arg = { ... }
print("family event _evtAddPlay")
local view = ViewManager.GetCurrenView()
if view.class ~= "FamilyMainView" then
return
end
view:UpdateFamilyRoom(nil, view._group.id)
end
function M:_evtDelPlay(...)
local arg = { ... }
print("family event _evtDelPlay")
local view = ViewManager.GetCurrenView()
if view.class ~= "FamilyMainView" then
return
end
view:UpdateFamilyRoom(nil, view._group.id)
end
function M:_evtUpdatePlay(...)
local arg = { ... }
print("family event _evtUpdatePlay")
local view = ViewManager.GetCurrenView()
if view.class ~= "FamilyMainView" then
return
end
view:UpdateFamilyRoom(nil, view._group.id)
end
function M:_evtAddRoom(...)
local arg = { ... }
print("family event _evtAddRoom")
end
function M:_evtDelRoom(...)
local arg = { ... }
print("family event _evtDelRoom")
end
function M:_evtUpdateRoom(...)
local arg = { ... }
print("family event _evtUpdateRoom")
end
function M:_evtUpdatePlayerInfo(...)
local arg = { ... }
print("family event _evtUpdatePlayerInfo")
end
function M:_evtInvited(...)
local arg = { ... }
print("family event _evtInvited")
end
function M:_evtUpdateGroup(...)
local arg = { ... }
local view = ViewManager.GetCurrenView()
if view.class ~= "FamilyMainView" then
return
end
-- 刷新名字
view:ReflashFamilyList()
-- 刷新打烊
view:ReflashBan()
print("family event _evtUpdateGroup")
end
function M:_evtNewMailTip(...)
local arg = { ... }
print("family event _evtNewMailTip")
end
function M:_evtOnNewApply(...)
print("_evtOnNewApply")
local arg = { ... }
pt(arg)
local view = ViewManager.GetCurrenView()
if view.class ~= "FamilyMainView" then
return
end
view:ChangeOther()
local AuditNumber = BaseView.FindView("FamilyAuditNumber")
if AuditNumber then
AuditNumber:OnNewApply(arg)
end
end
function M:_evtInviteResponse(...)
local arg = { ... }
local invite_id = arg[1]
local g_name = arg[2]
local roomid = arg[3]
local pid = arg[4]
local groupid = arg[5]
local roomCtr = ControllerManager.GetController(RoomController)
local gameId = DataManager.groups:get(groupid):getPlay(pid).gameId
UIPackage.AddPackage('base/newgroup/ui/FGAssist')
local imv =
FGInvitedMsgView.new(
self._root_view,
groupid,
pid,
invite_id,
function()
roomCtr:PublicJoinRoom(
Protocol.WEB_FG_JOIN_ROOM,
roomid,
groupid,
function(response)
if (response.ReturnCode == -1) then
ViewUtil.ErrorMsg(self._root_view, response.ReturnCode, 'response.ReturnCode == -1')
-- RestartGame()
return
end
if response.ReturnCode ~= 0 then
ViewUtil.ErrorMsg(self._root_view, response.ReturnCode, '进入房间失败')
-- ViewManager.ChangeView(ViewManager.View_Lobby)
return
else
UpdateBeat:Remove(self.OnUpdate, self)
ViewManager.ChangeView(ViewManager.View_Main, gameId)
end
end,
groupid,
pid
)
end
)
-- imv:FillData(data)
imv:Show()
end
function M:_evtIsOpenChatRoom(...)
local arg = { ... }
print("_evtIsOpenChatRoom")
pt(arg)
end
function M:_evtChatRoomData(...)
local view = ViewManager.GetCurrenView()
if view.class ~= "FamilyMainView" then
return
end
view.com_FamilyChatRoom:Refalsh()
ViewUtil.CloseModalWait()
end
function M:_evtOnNewRecord(...)
local view = ViewManager.GetCurrenView()
if view.class ~= "FamilyMainView" then
return
end
local arg = { ... }
view.com_FamilyChatRoom:OnNewChatRefalsh(arg[1])
view:ReflashChatRoomRedPoint()
end
function M:_evtOnMemberState(...)
local view = ViewManager.GetCurrenView()
if view.class ~= "FamilyMainView" then
return
end
view:ReflashMember(...)
--[[
local view = ViewManager.GetCurrenView()
if view.class ~= "FamilyMainView" then
return
end
local arg = { ... }
local group = DataManager.groups:get(view._group.id)
for _, player in pairs(arg[1].offlineUserId) do
group.memberMap[player].online = 0
end
for _, player in pairs(arg[1].onlineUserId) do
group.memberMap[player].online = 0
end
for _, player in pairs(arg[1].playingUserId) do
group.memberMap[player].playing = "startPlaying"
end
]]
end
function M:_evtOnPush_assistant(...)
local view = ViewManager.GetCurrenView()
if view.class ~= "FamilyMainView" then
return
end
local arg = { ... }
local groupId = arg[1].id
local lev = arg[1].lev
if view._group == nil or groupId ~= view._group.id then
return
end
view:ChangeOther(lev + 1)
end
-- reflashType == "joinFamily" 成功加入了亲友圈
-- reflashType == "outFamily" 成员退出了亲友圈
-- reflashType == "kickoutFamily" 成员被踢出了亲友圈
-- reflashType == "changeJoins" 修改了申请信息
function M:_evtOnFamilyReflash(...)
local view = ViewManager.GetCurrenView()
if view.class ~= "FamilyMainView" then
return
end
local arg = { ... }
local reflashType = arg[1].reflashType
if reflashType == "joinFamily" then
view:Reflash()
end
if reflashType == "outFamily" then
--local player = DataManager.
--local tips = "成员 【%s(%s)】退出了【%s(%s)】亲友圈"
--string.format(tips, )
--MsgWindow.new(self._root_view, "确定要点过吗?")
end
if reflashType == "changeJoins" then
local uid = arg[1].uid
local joins = arg[1].joins
local gMgr = ControllerManager.GetController(GroupMgrController)
local group = DataManager.groups:get(gMgr.groupId)
group.joins = joins
for _, data in pairs(group.joinsData) do
if data.id == uid then
group.joinsData[_] = nil
end
end
view:ChangeOther()
local win = BaseWindow.FindWindow("FamilyAuditNumber")
if win then
win:Reflash()
end
end
end
-- 刷新房间和成员
function M:_evtOnFamilyRoomReflash(...)
local arg = { ... }
print("_evtOnFamilyRoomReflash")
pt(arg)
local groupId = arg[1]
local view = ViewManager.GetCurrenView()
if view.class ~= "FamilyMainView" then
return
end
if view._group == nil or groupId ~= view._group.id then
return
end
view:UpdateFamilyRoom(nil, groupId)
view:ReflashMember()
end
function M:_evtOnFamilyMemberOut(...)
local arg = { ... }
local arg = arg[1]
local uid = arg.uid
local groupId = arg.groupId
local name = arg.name
local group = DataManager.groups:get(groupId)
local view = ViewManager.GetCurrenView()
if view.class ~= "FamilyMainView" then
return
end
local tips = "成员 【%s(%s)】退出了【%s(%s)】亲友圈"
tips = string.format(tips, name, uid, group.name, groupId)
local win = MsgWindow.new(view._view, tips, MsgWindow.MsgMode.OnlyOk)
win:Show()
end
return M