diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00000000..0593f9d3
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+wb_unity_pro2/
diff --git a/lua_probject/base_project/Game/Controller/NewGroupController.lua b/lua_probject/base_project/Game/Controller/NewGroupController.lua
index 8a693d52..4cb9d4a5 100644
--- a/lua_probject/base_project/Game/Controller/NewGroupController.lua
+++ b/lua_probject/base_project/Game/Controller/NewGroupController.lua
@@ -1570,7 +1570,7 @@ function M:FG_SetFamilyHeartbeat(group_id, playerId, callback)
end)
end
---
+--显示&隐藏成员
---@param isShow 1是显示 0是隐藏
function M:FG_SetGroupShow(isShow, groupId, callback)
local _client = ControllerManager.GroupClient
@@ -1581,3 +1581,14 @@ function M:FG_SetGroupShow(isShow, groupId, callback)
callback(res)
end)
end
+
+--聊天室
+---@groupId 亲友圈id
+function M:GetChatRoom(groupId, callback)
+ local _client = ControllerManager.GroupClient
+ local _data = {}
+ _data.id = groupId
+ _client:send(Protocol.WEB_FG_GETCHATROOM, _data, function(res)
+ callback(res)
+ end)
+end
diff --git a/lua_probject/base_project/Game/Protocol.lua b/lua_probject/base_project/Game/Protocol.lua
index 0e49527f..96beb6d7 100644
--- a/lua_probject/base_project/Game/Protocol.lua
+++ b/lua_probject/base_project/Game/Protocol.lua
@@ -271,6 +271,9 @@ Protocol = {
WEB_FG_SET_Family_Diamond = "group/add_group_diamo",
-- 亲友圈发送伪心跳
WEB_FG_SET_Family_Heartbeat = "group/set_group_heartbeat",
+
+ -- 亲友圈聊天室
+ WEB_FG_GETCHATROOM = 'group/get_chat_rooms',
-------------- group-log---------------------
-- 获取奖励日志
WEB_FG_GET_REWARDS_LOG = "group/log/get_reward_log",
diff --git a/lua_probject/base_project/Game/View/Family/FamilyBanDesk.lua b/lua_probject/base_project/Game/View/Family/FamilyBanDesk.lua
index 0dff9842..4d3f3649 100644
--- a/lua_probject/base_project/Game/View/Family/FamilyBanDesk.lua
+++ b/lua_probject/base_project/Game/View/Family/FamilyBanDesk.lua
@@ -3,42 +3,116 @@ local FamilySelectNumber = import(".FamilySelectNumber")
--region LOCAL
local BanDesk = {}
-local root = {}
local rootLastIndex = 0
-local function HideMainView()
- rootLastIndex = root.familyType.selectedIndex
- root.familyType.selectedIndex = 0
+local function HideMainView(self)
+ rootLastIndex = self.root.familyType.selectedIndex
+ self.root.familyType.selectedIndex = 0
end
-local function ShowMainView()
- root.familyType.selectedIndex = rootLastIndex or 1
+local function ShowMainView(self)
+ self.root.familyType.selectedIndex = rootLastIndex or 1
end
-local function DelPlayer()
+local function LoadData(BanData)
end
-local function AddPlayer()
+local function GetIconFromGroupData(playerId, group)
+ local player = group.memberMap[playerId]
+ if player then
+ return player.portrait
+ end
+ print("玩家不在group中,无法找到头像 玩家id=",playerId)
+
+ return ""
+end
+
+local function AllUid(deskList)
+
+ local re = {}
+ pt(deskList)
+ for _, player in pairs(deskList) do
+ re[#re + 1] = player.uid
+ end
+ return re
+end
+
+local function AddPlayer(data, self)
+ -- 点击弹出选择成员界面
+ local view = FamilySelectNumber.New()
+ view:Show(self.root._group.id, function(number)
+ local players = AllUid(data.deskList)
+ players[#players + 1] = number.uid
+ local fgCtr = ControllerManager.GetController(NewGroupController)
+ fgCtr:FG_SetBanTable1(self.root._group.id, data.deskId, players, data.deskName, function() self:ReflashDesk() end)
+ end)
+end
+
+local function DelPalyer(data, uid, self)
+ local players = AllUid(data.deskList)
+ for _, id in pairs(players) do
+ if id == uid then
+ players[_] = nil
+ end
+ end
+
+ -- 修复下标的连续性,不然json.encode会吧空下标也解析出来
+ local fix = {}
+ for _, id in pairs(players) do
+ fix[#fix + 1] = id
+ end
+ players = fix
+
+ local fgCtr = ControllerManager.GetController(NewGroupController)
+ fgCtr:FG_SetBanTable1(self.root._group.id, data.deskId, players, data.deskName, function() self:ReflashDesk() end)
+end
+
+local function DelDesk(data, self)
+ local fgCtr = ControllerManager.GetController(NewGroupController)
+ fgCtr:FG_SetBanTable1(self.root._group.id, data.deskId, {}, data.deskName, function() self:Reflash() end)
+end
+
+local function ChangeName(deskData, name, self)
+ local fgCtr = ControllerManager.GetController(NewGroupController)
+ fgCtr:FG_SetBanTable1(self.root._group.id, deskData.deskId, AllUid(deskData.deskList), name, function()
+ self:ReflashDesk()
+ self:CloseRemaskWindow()
+ end)
+end
+
+local function Sort(BanData)
+ -- 把空的桌子放到下面
+ local emtpy = {}
+ for index, desk in pairs(BanData) do
+ if desk.deskList == nil or #desk.deskList == 0 then
+ emtpy[#emtpy + 1] = desk
+ BanData[index] = nil
+ end
+ end
+
+ local re = {}
+ for _, desk in pairs(BanData) do
+ re[#re + 1] = desk
+ end
+
+ for _, desk in pairs(emtpy) do
+ re[#re + 1] = desk
+ end
+
+ return re
end
--endregion
---[[ 禁止同桌数据
-BanDesk.BanData = {
- { name = "备注1", deskList = {{name = "大哥", portrait = "https://thirdwx.qlogo.cn/mmopen/vi_32/Q3auHgzwzM5wiaLFFbHru0weDn6qaXkzW14MLJcqEMxsv2C0EuAxPH1Cf5DGZLmd4EppPeDWlksCuXtFJQC85mw/132"}, {name = "大哥2", portrait = "https://thirdwx.qlogo.cn/mmopen/vi_32/Q3auHgzwzM5wiaLFFbHru0weDn6qaXkzW14MLJcqEMxsv2C0EuAxPH1Cf5DGZLmd4EppPeDWlksCuXtFJQC85mw/132"}} },
- { name = "备注2", deskList = {{name = "大哥", portrait = "https://thirdwx.qlogo.cn/mmopen/vi_32/Q3auHgzwzM5wiaLFFbHru0weDn6qaXkzW14MLJcqEMxsv2C0EuAxPH1Cf5DGZLmd4EppPeDWlksCuXtFJQC85mw/132"}, {name = "大哥3", portrait = "https://thirdwx.qlogo.cn/mmopen/vi_32/Q3auHgzwzM5wiaLFFbHru0weDn6qaXkzW14MLJcqEMxsv2C0EuAxPH1Cf5DGZLmd4EppPeDWlksCuXtFJQC85mw/132"}} },
- { name = "备注3", deskList = {{name = "大哥", portrait = "https://thirdwx.qlogo.cn/mmopen/vi_32/Q3auHgzwzM5wiaLFFbHru0weDn6qaXkzW14MLJcqEMxsv2C0EuAxPH1Cf5DGZLmd4EppPeDWlksCuXtFJQC85mw/132"}, {name = "大哥4", portrait = "https://thirdwx.qlogo.cn/mmopen/vi_32/Q3auHgzwzM5wiaLFFbHru0weDn6qaXkzW14MLJcqEMxsv2C0EuAxPH1Cf5DGZLmd4EppPeDWlksCuXtFJQC85mw/132"}} },
-
-}]]
function BanDesk:TryShow(r)
local view = BanDesk.New()
- root = r
- HideMainView()
+ self.root = r
+ HideMainView(self)
view:Show()
end
@@ -49,7 +123,7 @@ end
function BanDesk:Close()
BaseView.Close(self)
- ShowMainView()
+ ShowMainView(self)
end
function BanDesk.New()
@@ -70,11 +144,31 @@ function BanDesk:Init()
self.btn_close = self._view:GetChild("btn_close")
self.list_banItem = self._view:GetChild("list_banItem")
+ self.cSetName = self._view:GetController("cSetName")
+ self.btn_bgRemask = self._view:GetChild("btn_bgRemask")
+ self.btn_confirmRemask = self._view:GetChild("btn_confirmRemask")
+ self.btn_quitRemask = self._view:GetChild("btn_quitRemask")
+ self.input_name = self._view:GetChild("input_name")
+ self.btn_confirmRemask = self._view:GetChild("btn_confirmRemask")
+ self.input_name = self._view:GetChild('input_name')
self.btn_close.onClick:Set(function()
self:Close()
end)
+ self.btn_quitRemask.onClick:Set(function()
+ self:CloseRemaskWindow()
+ end)
+
+ self.btn_bgRemask.onClick:Set(function()
+ self:CloseRemaskWindow()
+ end)
+
+ self.btn_confirmRemask.onClick:Set(function()
+ local name = self.input_name.text
+ ChangeName(self.selectBanItem, name, self)
+ end)
+
self.list_banItem.itemRenderer = function(index, obj)
local data = self.BanData[index +1]
@@ -82,24 +176,40 @@ function BanDesk:Init()
local tex_name = obj:GetChild("tex_name")
local list_BanedPlayers = obj:GetChild("list_BanedPlayers")
local btn_del = obj:GetChild("btn_del")
+ local btn_edit = obj:GetChild("btn_edit")
- tex_name.text = data.name
+ tex_name.text = data.deskName
+ obj:GetController("cStyle").selectedIndex = 0
- btn_del.onClick:Set(function()
- -- 删除
+ btn_edit.onClick:Set(function()
+ -- 修改备注
+ self.changedIndex = index
+ self.selectBanItem = data
+ self:OpenRemaskWindow()
end)
- list_BanedPlayers.itemRenderer = function(playerIndex, playerObj, index)
+ btn_del.onClick:Set(function()
+ -- 删除整个桌子
+ DelDesk(data, self)
+ end)
+
+ list_BanedPlayers.itemRenderer = function(playerIndex, playerObj)
+
local loader_icon = playerObj:GetChild("loader_icon")
- local btn_delPlayer = playerObj:GetChild("btn_delPlayer")
- local btn_addPlayer = playerObj:GetChild("btn_addPlayer")
local tex_name = playerObj:GetChild("tex_name")
local player = data.deskList[playerIndex + 1]
+ playerObj:GetController("cStyle").selectedIndex = 0
+ tex_name.text = player.nick
+ local img = GetIconFromGroupData(player.uid, self.root._group)
+ ImageLoad.Load(img, loader_icon)
- tex_name.text = player.name
- ImageLoad.Load(loader_icon, player.portrait)
-
+ local btn_delPlayer = playerObj:GetChild("btn_delPlayer")
+ btn_delPlayer.onClick:Set(function()
+ -- 删除玩家按钮
+ self.changedIndex = index
+ DelPalyer(data, player.uid, self)
+ end)
end
list_BanedPlayers.numItems = #data.deskList
@@ -107,28 +217,19 @@ function BanDesk:Init()
local add_play = list_BanedPlayers:AddItemFromPool()
add_play:GetController("cStyle").selectedIndex = 1
add_play:GetChild("btn_addPlayer").onClick:Set(function()
-
- local view = FamilySelectNumber.New()
- view:Show(root._group.id, function(number)
- data.deskList[#data.deskList + 1] = number.uid
- local fgCtr = ControllerManager.GetController(NewGroupController)
- fgCtr:FG_SetBanTable1(root._group.id, data.deskId, data.deskList, data.deskName, function() self:Reflash() end)
- end)
+ -- 添加玩家按钮
+ self.changedIndex = index
+ AddPlayer(data, self)
end)
-
end
-
end
function BanDesk:Reflash()
local fgCtr = ControllerManager.GetController(NewGroupController)
- local groupId = root._group.id
+ local groupId = self.root._group.id
fgCtr:FG_GetBanTable1(groupId,function(res)
- pt(res)
- self.BanData = res.Data.ban_list
- self.list_banItem.numItems = #self.BanData
self:GetBanTableCallback(res)
end)
end
@@ -136,7 +237,7 @@ end
function BanDesk:GetBanTableCallback(res)
print("BanDesk:GetBanTableCallback")
- self.BanData = res.Data.ban_list
+ self.BanData = Sort(res.Data.ban_list)
self.list_banItem.numItems = #self.BanData
-- 最后一个添加ban按钮
@@ -145,7 +246,7 @@ function BanDesk:GetBanTableCallback(res)
addBanItem:GetController("cStyle").selectedIndex = 1
btn_addBanItem.onClick:Set(function()
local fgCtr = ControllerManager.GetController(NewGroupController)
- local groupId = root._group.id
+ local groupId = self.root._group.id
local banList = {}
fgCtr:FG_SetBanTable1(groupId, -1, banList, "新建关系", function()
self:Reflash()
@@ -153,5 +254,33 @@ function BanDesk:GetBanTableCallback(res)
end)
end
+function BanDesk:ReflashDesk()
+ -- 只刷新一个元素,暂时怎么处理,有时间优化
+ local data = self.BanData[self.changedIndex +1]
+ local obj = self.list_banItem:GetChildAt(self.changedIndex)
+ local tex_name = obj:GetChild("tex_name")
+ local list_BanedPlayers = obj:GetChild("list_BanedPlayers")
+ tex_name.text = data.deskName
+ obj:GetController("cStyle").selectedIndex = 0
+ list_BanedPlayers.numItems = #data.deskList
+
+ local add_play = list_BanedPlayers:AddItemFromPool()
+ add_play:GetController("cStyle").selectedIndex = 1
+ add_play:GetChild("btn_addPlayer").onClick:Set(function()
+ -- 添加玩家按钮
+ self.changedIndex = self.changedIndex
+ AddPlayer(data, self)
+ end)
+end
+
+-- 打开备注界面
+function BanDesk:OpenRemaskWindow()
+ self.cSetName.selectedIndex = 1
+end
+
+function BanDesk:CloseRemaskWindow()
+ self.cSetName.selectedIndex = 0
+end
+
return BanDesk
\ No newline at end of file
diff --git a/lua_probject/base_project/Game/View/Family/FamilyChatRoom.lua b/lua_probject/base_project/Game/View/Family/FamilyChatRoom.lua
index 5e63fc9b..476a9e4e 100644
--- a/lua_probject/base_project/Game/View/Family/FamilyChatRoom.lua
+++ b/lua_probject/base_project/Game/View/Family/FamilyChatRoom.lua
@@ -42,6 +42,16 @@ end
function FamilyChatRoom:Show()
local cChatRoom = self.root._view:GetController("cIsChatRoom")
cChatRoom.selectedIndex = 1
+
+ local fgCtr = ControllerManager.GetController(NewGroupController)
+ fgCtr:GetChatRoom(self.root._group.id, function(res)
+ self:GetChatCallBack(res)
+ end)
+end
+
+function FamilyChatRoom:GetChatCallBack(res)
+ print("收到聊天室协议")
+ pt(res)
end
return FamilyChatRoom
\ No newline at end of file
diff --git a/wb_new_ui/assets/Family/BanDesk/com_banDesk.xml b/wb_new_ui/assets/Family/BanDesk/com_banDesk.xml
index de96bcc6..4d6fa157 100644
--- a/wb_new_ui/assets/Family/BanDesk/com_banDesk.xml
+++ b/wb_new_ui/assets/Family/BanDesk/com_banDesk.xml
@@ -1,5 +1,8 @@
+
+
+
@@ -14,5 +17,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/wb_new_ui/assets/Family/ChatRoom/Image/Rectangle 291.png b/wb_new_ui/assets/Family/ChatRoom/Image/Rectangle 291.png
new file mode 100644
index 00000000..c1bf2439
Binary files /dev/null and b/wb_new_ui/assets/Family/ChatRoom/Image/Rectangle 291.png differ
diff --git a/wb_new_ui/assets/Family/package.xml b/wb_new_ui/assets/Family/package.xml
index 485ea0e5..73552b53 100644
--- a/wb_new_ui/assets/Family/package.xml
+++ b/wb_new_ui/assets/Family/package.xml
@@ -334,6 +334,7 @@
+
\ No newline at end of file
diff --git a/wb_unity_pro/Assets/ART/base/Family/ui/Family_atlas0.png b/wb_unity_pro/Assets/ART/base/Family/ui/Family_atlas0.png
index c8ca1a68..708f6aa6 100644
Binary files a/wb_unity_pro/Assets/ART/base/Family/ui/Family_atlas0.png and b/wb_unity_pro/Assets/ART/base/Family/ui/Family_atlas0.png differ
diff --git a/wb_unity_pro/Assets/ART/base/Family/ui/Family_fui.bytes b/wb_unity_pro/Assets/ART/base/Family/ui/Family_fui.bytes
index 7be91a5c..ca08f015 100644
Binary files a/wb_unity_pro/Assets/ART/base/Family/ui/Family_fui.bytes and b/wb_unity_pro/Assets/ART/base/Family/ui/Family_fui.bytes differ