2025-06-25 22:49:44 +08:00
|
|
|
local FamilySelectNumber = {}
|
|
|
|
|
|
2025-07-07 16:09:48 +08:00
|
|
|
local function search(self)
|
|
|
|
|
local t = self.input_search.text
|
|
|
|
|
local re = {}
|
|
|
|
|
for _, player in pairs(self.group.members) do
|
|
|
|
|
if string.match(player.nick, t) then
|
|
|
|
|
re[#re + 1] = player
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
self.players = re
|
|
|
|
|
end
|
|
|
|
|
|
2025-06-25 22:49:44 +08:00
|
|
|
function FamilySelectNumber.New()
|
|
|
|
|
setmetatable(FamilySelectNumber, { __index = BaseWindow})
|
|
|
|
|
local inst = setmetatable({}, { __index = FamilySelectNumber})
|
2025-07-05 21:36:09 +08:00
|
|
|
--inst._full = true
|
|
|
|
|
inst._scale = true
|
2025-06-25 22:49:44 +08:00
|
|
|
inst._close_destroy = true
|
|
|
|
|
inst._full_offset = false
|
|
|
|
|
inst._anim_pop = 0
|
|
|
|
|
inst._animation = false
|
|
|
|
|
|
|
|
|
|
BaseWindow.init(inst, "ui://Family/com_SelectNumber")
|
|
|
|
|
|
|
|
|
|
inst:Init()
|
|
|
|
|
|
|
|
|
|
return inst
|
|
|
|
|
end
|
|
|
|
|
|
2025-07-07 16:09:48 +08:00
|
|
|
function FamilySelectNumber:Refalsh()
|
|
|
|
|
self.list_number.numItems = #self.players
|
|
|
|
|
--self.list_number.numItems = #self.group.members
|
|
|
|
|
end
|
|
|
|
|
|
2025-06-25 22:49:44 +08:00
|
|
|
function FamilySelectNumber:Show(groupId, callback)
|
|
|
|
|
self.group = DataManager.groups.groupMap[groupId]
|
2025-07-07 16:09:48 +08:00
|
|
|
self.players = self.group.members
|
2025-06-25 22:49:44 +08:00
|
|
|
self.callback = callback
|
2025-07-07 16:09:48 +08:00
|
|
|
self:Refalsh()
|
2025-06-25 22:49:44 +08:00
|
|
|
BaseWindow.Show(self)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function FamilySelectNumber:Init()
|
2025-07-07 16:09:48 +08:00
|
|
|
|
|
|
|
|
self.input_search = self._view:GetChild("input_search")
|
2025-06-25 22:49:44 +08:00
|
|
|
self.list_number = self._view:GetChild("list_number")
|
|
|
|
|
self.btn_search = self._view:GetChild("btn_search")
|
|
|
|
|
self.btn_close = self._view:GetChild("btn_close")
|
|
|
|
|
|
|
|
|
|
self.btn_search.onClick:Set(function()
|
2025-07-07 16:09:48 +08:00
|
|
|
search(self)
|
|
|
|
|
self:Refalsh()
|
2025-06-25 22:49:44 +08:00
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
self.btn_close.onClick:Set(function()
|
|
|
|
|
self:Close()
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
self.list_number.itemRenderer = function(index, obj)
|
|
|
|
|
local i = index + 1
|
2025-07-07 16:09:48 +08:00
|
|
|
local player = self.players[i] --self.group.members[i]
|
2025-06-25 22:49:44 +08:00
|
|
|
obj:GetController('lev').selectedIndex = player.lev - 1
|
|
|
|
|
obj:GetController('ban').selectedIndex = player.ban
|
|
|
|
|
obj:GetChild('name').text = player.nick
|
|
|
|
|
obj:GetChild('id').text = string.format("ID:%s", player.uid)
|
|
|
|
|
obj.onClick:Set(function()
|
|
|
|
|
if self.callback then
|
|
|
|
|
self.callback(player)
|
|
|
|
|
end
|
|
|
|
|
self.callback = nil
|
|
|
|
|
self:Close()
|
|
|
|
|
end)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
return FamilySelectNumber
|