132 lines
3.8 KiB
Lua
132 lines
3.8 KiB
Lua
--牌友圈设置View对象
|
||
--author:--
|
||
|
||
local CreateGroupView = import(".CreateGroupView")
|
||
|
||
local GroupSettingView = {}
|
||
|
||
local M = GroupSettingView
|
||
|
||
function GroupSettingView.new(blur_view)
|
||
setmetatable(M, {__index = BaseWindow})
|
||
local self = setmetatable({}, {__index = M})
|
||
self.class = "GroupSettingView"
|
||
self._close_destroy = true
|
||
self._blur_view = blur_view
|
||
|
||
self:init("ui://NewGroup/Win_GroupSetting")
|
||
return self
|
||
end
|
||
|
||
|
||
local function __removeGroup(self,msg,curData)
|
||
local fgCtr = ControllerManager.GetController(NewGroupController)
|
||
local _curren_msg = MsgWindow.new(self._root_view, msg, MsgWindow.MsgMode.OkAndCancel)
|
||
_curren_msg.onOk:Add(function()
|
||
ViewUtil.ShowModalWait(self._root_view)
|
||
local func = curData.owner == DataManager.SelfUser.account_id and fgCtr.FG_RemoveGroup or fgCtr.FG_ExitGroup
|
||
func(fgCtr, curData.id, function(res)
|
||
if self._is_destroy then
|
||
return
|
||
end
|
||
ViewUtil.CloseModalWait()
|
||
if res.ReturnCode == 0 then
|
||
self.change = true
|
||
local groups = DataManager.groups.groupList
|
||
if #groups > 0 then
|
||
self:FillData()
|
||
else
|
||
self:Destroy()
|
||
end
|
||
else
|
||
ViewUtil.ErrorTip(res.ReturnCode,"删除大联盟失败!")
|
||
end
|
||
end)
|
||
end)
|
||
_curren_msg:Show()
|
||
|
||
end
|
||
|
||
function M:init(url)
|
||
BaseWindow.init(self,url)
|
||
local lst_group = self._view:GetChild("lst_group")
|
||
|
||
local btn_remove = self._view:GetChild("btn_remove")
|
||
btn_remove.onClick:Set(function()
|
||
local group = lst_group:GetChildAt(lst_group.selectedIndex).data
|
||
__removeGroup(self,"您确定解散该大联盟吗?",group)
|
||
end)
|
||
local btn_exit = self._view:GetChild("btn_exit")
|
||
btn_exit.onClick:Set(function()
|
||
local group = lst_group:GetChildAt(lst_group.selectedIndex).data
|
||
__removeGroup(self,"您确定退出该大联盟吗?",group)
|
||
end)
|
||
lst_group.onClickItem:Add(function(context)
|
||
local group = context.data.data
|
||
|
||
if group.lev == 1 then
|
||
self._view:GetController("opt").selectedIndex = 2
|
||
else
|
||
local option = group.option or 0
|
||
if bit:_and(option,2) > 0 then
|
||
self._view:GetController("opt").selectedIndex = 1
|
||
|
||
else
|
||
self._view:GetController("opt").selectedIndex = 0
|
||
end
|
||
end
|
||
end)
|
||
|
||
end
|
||
|
||
function M:FillData()
|
||
local groups = DataManager.groups.groupList
|
||
local lst_group = self._view:GetChild("lst_group")
|
||
lst_group:RemoveChildrenToPool()
|
||
local fgCtr = ControllerManager.GetController(NewGroupController)
|
||
|
||
for i = 1, #groups do
|
||
local group = groups[i]
|
||
local item = lst_group:AddItemFromPool()
|
||
item:GetChild("tex_name").text = group.name
|
||
item:GetChild("tex_id").text = group.id
|
||
item:GetChild("tex_nick").text ="创建人:" .. group.o_nick
|
||
item.data = group
|
||
end
|
||
|
||
if #groups > 0 and lst_group.selectedIndex == -1 then
|
||
lst_group.selectedIndex = 0
|
||
|
||
if groups[1].lev == 1 then
|
||
self._view:GetController("opt").selectedIndex = 2
|
||
else
|
||
local option = groups[1].option or 0
|
||
if bit:_and(option,2) > 0 then
|
||
self._view:GetController("opt").selectedIndex = 1
|
||
else
|
||
self._view:GetController("opt").selectedIndex = 0
|
||
end
|
||
end
|
||
end
|
||
if #groups == 0 then
|
||
self._view:GetController("opt").selectedIndex = 0
|
||
end
|
||
|
||
|
||
end
|
||
|
||
function M:SetCallback(callback)
|
||
self.callback = callback
|
||
end
|
||
|
||
|
||
-- 销毁窗口
|
||
function M:Destroy(remove_map)
|
||
if self.change and self.callback then
|
||
self.callback()
|
||
end
|
||
BaseWindow.Destroy(self,remove_map)
|
||
end
|
||
|
||
|
||
return M |