diff --git a/lua_probject/base_project/Game/Controller/GroupMgrController.lua b/lua_probject/base_project/Game/Controller/GroupMgrController.lua
index 1ab0b2dd..0d0155e7 100644
--- a/lua_probject/base_project/Game/Controller/GroupMgrController.lua
+++ b/lua_probject/base_project/Game/Controller/GroupMgrController.lua
@@ -249,6 +249,20 @@ function M:OnEvtUpdateRoom(evt_data)
end
end
group.update_room = true
+
+ -- ↓↓刷新成员状态
+
+ for _, player in pairs(group.members) do
+ player.playing = "stopPlaying"
+ end
+
+ for _, room in pairs(cmds) do
+ for _, palyingUser in pairs(room.plist) do
+ local _player = group.memberMap[palyingUser.aid]
+ _player.playing = "startPlaying"
+ end
+ end
+
DispatchEvent(self._dispatcher, GroupMgrEvent.OnFamilyRoomReflash, self.groupId)
end
diff --git a/lua_probject/base_project/Game/View/Common/MsgWindow.lua b/lua_probject/base_project/Game/View/Common/MsgWindow.lua
index 90b24f30..7be7710c 100644
--- a/lua_probject/base_project/Game/View/Common/MsgWindow.lua
+++ b/lua_probject/base_project/Game/View/Common/MsgWindow.lua
@@ -42,6 +42,7 @@ function M:init(url)
self:Destroy()
end)
local tex_message = view:GetChild("tex_message")
+ tex_message.emojies = EmojiDitc.EmojiesDitc
if (self._tip) then tex_message.text = self._tip end
local btn_close = view:GetChild('btn_close1')
diff --git a/lua_probject/base_project/Game/View/Family/FamilyEventView.lua b/lua_probject/base_project/Game/View/Family/FamilyEventView.lua
index 983bc7b1..4d009eb3 100644
--- a/lua_probject/base_project/Game/View/Family/FamilyEventView.lua
+++ b/lua_probject/base_project/Game/View/Family/FamilyEventView.lua
@@ -314,12 +314,9 @@ function M:_evtOnFamilyReflash(...)
view:ChangeOther()
view._child_familyAuditNumber:Reflash()
end
-
- if reflashType == "" then
-
- end
end
+-- 刷新房间和成员
function M:_evtOnFamilyRoomReflash(...)
local arg = { ... }
print("_evtOnFamilyRoomReflash")
@@ -336,6 +333,7 @@ function M:_evtOnFamilyRoomReflash(...)
end
view:UpdateFamilyRoom(nil, groupId)
+ view:ReflashMember()
end
function M:_evtOnFamilyMemberOut(...)
@@ -354,7 +352,8 @@ function M:_evtOnFamilyMemberOut(...)
end
local tips = "成员 【%s(%s)】退出了【%s(%s)】亲友圈"
tips = string.format(tips, name, uid, group.name, groupId)
- ViewUtil.ShowTips("成员 【%s】")
+ local win = MsgWindow.new(view._view, tips, MsgWindow.MsgMode.OnlyOk)
+ win:Show()
end
return M
diff --git a/lua_probject/base_project/Game/View/FamilyView.lua b/lua_probject/base_project/Game/View/FamilyView.lua
index aacfa22d..28064007 100644
--- a/lua_probject/base_project/Game/View/FamilyView.lua
+++ b/lua_probject/base_project/Game/View/FamilyView.lua
@@ -35,6 +35,45 @@ local function FamilyOffline(groupId, self)
end)
end
+local function SortMembers(Members)
+ local re = {}
+ local online = {}
+ local playing = {}
+ local offline = {}
+
+ for _, player in pairs(Members) do
+
+ -- 在线 绿色状态
+ if player.online == 1 and player.playing == "stopPlaying" then
+ online[#online + 1] = player
+ end
+
+ -- 在线游戏中 红色状态
+ if player.online == 1 and player.playing == "startPlaying" then
+ playing[#playing + 1] = player
+ end
+
+ -- 离线
+ if player.online == 0 then
+ offline[#offline + 1] = player
+ end
+ end
+
+ for _, player in pairs(online) do
+ re[#re + 1] = player
+ end
+
+ for _, player in pairs(playing) do
+ re[#re + 1] = player
+ end
+
+ for _, player in pairs(offline) do
+ re[#re + 1] = player
+ end
+
+ return re
+end
+
function FamilyView.new()
UIPackage.AddPackage("base/Family/ui/Family")
@@ -351,9 +390,12 @@ function M:BanDeskmate()
end
function M:ReflashMember()
+
+ self.members = SortMembers(self._group.members)
+
local list_familyNumber = self._view:GetChild('list_familyNumber')
if list_familyNumber.itemRenderer == nil then
-
+ return
end
if list_familyNumber.numItems == #self._group.members then
@@ -367,7 +409,7 @@ function M:ChangeNumber(fgCtr, group_id, limit, num, minus_only, sort_type)
local list_familyNumber = self._view:GetChild('list_familyNumber')
list_familyNumber:SetVirtual()
fgCtr:FG_GroupMembers12(group_id, limit, num, 2, 2, function(res)
- local members = self._group.members
+ self.members = SortMembers(self._group.members) --local members = self._group.members
print("FG_GroupMembers12")
pt(self._group.members)
--ViewUtil:CloseModalWait()
@@ -375,16 +417,18 @@ function M:ChangeNumber(fgCtr, group_id, limit, num, minus_only, sort_type)
ViewUtil.ErrorTip(res.ReturnCode, "获取成员列表失败")
else
list_familyNumber.itemRenderer = function(index, obj)
+ local player = self.members[index + 1]
obj:GetChild('title').emojies = EmojiDitc.EmojiesDitc
- obj:GetChild('title').text = Utils.TextOmit(members[index + 1].nick, 5)
- obj:GetController('type').selectedIndex = members[index + 1].online and members[index + 1].online or 0
- if members[index + 1].playing == "startPlaying" then
+ obj:GetChild('title').text = Utils.TextOmit(player.nick, 5)
+ obj:GetController('type').selectedIndex = player.online and player.online or 0
+ if player.playing == "startPlaying" then
obj:GetController('type').selectedIndex = 2
end
local loader_icon = obj:GetChild("btn_head"):GetChild("icon")
- ImageLoad.Load(members[index + 1].portrait, loader_icon)
+ ImageLoad.Load(player.portrait, loader_icon)
end
- list_familyNumber.numItems = #self._group.members
+ --list_familyNumber.numItems = #self._group.members
+ list_familyNumber.numItems = #self.members
return 1
end
end)
@@ -678,10 +722,11 @@ function M:ConnetFamily(index, groups, isCreate)
if isCreate then
list_family.itemRenderer = function(i, obj)
local j = i + 1
+ local group = DataManager.groups.groupList[j]
obj:GetChild("title").emojies = EmojiDitc.EmojiesDitc
- obj.text = Utils.TextOmit(groups[j].name, 6)
+ obj.text = Utils.TextOmit(group.name, 6)
obj.onClick:Add(function()
- if groups[j].id == self._group.id then
+ if group.id == self._group.id then
ViewUtil.ShowBannerOnScreenCenter("已在家族中")
return
end
diff --git a/lua_probject/main_project/main/majiang/MJMainView.lua b/lua_probject/main_project/main/majiang/MJMainView.lua
index 0f1255ac..ae6c992a 100644
--- a/lua_probject/main_project/main/majiang/MJMainView.lua
+++ b/lua_probject/main_project/main/majiang/MJMainView.lua
@@ -16,8 +16,14 @@ local M = {}
setmetatable(M, { __index = MainView })
local default_bg = 1
+
+local function IsRoomOwer()
+ --local roomOwner = self._room.player_list[1].self_user.account_id
+ local roomOwner = DataManager.CurrenRoom.player_list[1].self_user.account_id
+ return roomOwner == DataManager.SelfUser.account_id
+end
+
function M:InitView(url, use_custom_bg, custom_bg_config)
-
-- 加载牌型数据
if not DataManager.CardTypeList then
local json_data = Utils.LoadLocalFile("CardTypeData")
@@ -177,35 +183,24 @@ function M:InitView(url, use_custom_bg, custom_bg_config)
end
self._view:GetChild('btn_closeRoom').onClick:Set(function()
- local tip_owner = '您是否退出房间?\n(退出房间后房间将解散)'
- local tip = '您是否退出房间?' -- \n (请注意,申请洗牌后退出,不会返还洗牌分)
- local tipStr = ''
- if self._room.agent then
- tipStr = '您是否退出房间?'
- else
- tipStr = self._room.owner_id == self._room.self_player.self_user.account_id and tip_owner or tip
+ if IsRoomOwer() then
+ self._gamectr:AskDismissRoom(
+ function(res)
+ ViewUtil.CloseModalWait()
+ if res.ReturnCode == 0 then
+ ViewManager.ChangeView(ViewManager.View_Family)
+ else
+ ViewUtil.ErrorTip(res.ReturnCode)
+ end
+ end)
+ return
end
- local _curren_msg = MsgWindow.new(self._root_view, tipStr, MsgWindow.MsgMode.OkAndCancel)
- _curren_msg.onOk:Add(
- function()
- if self._state.selectedIndex > 0 and self._state.selectedIndex < 3 then
- ViewUtil.ErrorTip(nil, '房间已开始,无法退出游戏。')
- else
- ViewUtil.ShowModalWait(self._root_view)
- self._gamectr:LevelRoom(
- function(res)
- ViewUtil.CloseModalWait()
- if res.ReturnCode == 0 then
- ViewManager.ChangeView(ViewManager.View_Family)
- else
- ViewUtil.ErrorTip(res.ReturnCode)
- end
- end
- )
- end
+ self._gamectr:LevelRoom(function(res)
+ if res.ReturnCode ~= 0 then
+ ViewUtil.ErrorTip(res.ReturnCode)
end
- )
- _curren_msg:Show()
+ ViewManager.ChangeView(ViewManager.View_Family)
+ end)
end)
self:InitXiPai()
diff --git a/wb_new_ui/assets/Common/MessageBox1.xml b/wb_new_ui/assets/Common/MessageBox1.xml
index 61532146..15d14b01 100644
--- a/wb_new_ui/assets/Common/MessageBox1.xml
+++ b/wb_new_ui/assets/Common/MessageBox1.xml
@@ -5,7 +5,7 @@
-
+
diff --git a/wb_unity_pro/Assets/ART/base/common/ui/Common_fui.bytes b/wb_unity_pro/Assets/ART/base/common/ui/Common_fui.bytes
index 3aa1c235..e61161f5 100644
Binary files a/wb_unity_pro/Assets/ART/base/common/ui/Common_fui.bytes and b/wb_unity_pro/Assets/ART/base/common/ui/Common_fui.bytes differ