diff --git a/lua_probject/base_project/Game/View/Common/BaseWindow.lua b/lua_probject/base_project/Game/View/Common/BaseWindow.lua
index 1f4356bd..260c51a1 100644
--- a/lua_probject/base_project/Game/View/Common/BaseWindow.lua
+++ b/lua_probject/base_project/Game/View/Common/BaseWindow.lua
@@ -2,31 +2,33 @@
--author:--
BaseWindow = {
- --view description
- _view = nil,
+ --view description
+ _view = nil,
- --View 是否被销毁
- _is_destroy = false,
- --是否播放动画
- _animation = true,
- --弹出动画,0关闭,1左边,2右边
- _anim_pop = 0,
- --关闭摧毁
- _close_destroy = false,
+ --View 是否被销毁
+ _is_destroy = false,
+ --是否播放动画
+ _animation = true,
+ --弹出动画,0关闭,1左边,2右边
+ _anim_pop = 0,
+ --关闭摧毁
+ _close_destroy = false,
- --点击窗口以外关闭
- _close_zone = true,
+ --点击窗口以外关闭
+ _close_zone = true,
- --队列
- _queue = true,
- --全屏
- _full = false,
- --全屏偏移
- _full_offset = true,
- --新窗口隐藏队列
- _new_hide = true,
- --模糊组件对象
- _put_map = true
+ --队列
+ _queue = true,
+ --全屏
+ _full = false,
+ --缩放全屏
+ _scale = false,
+ --全屏偏移
+ _full_offset = true,
+ --新窗口隐藏队列
+ _new_hide = true,
+ --模糊组件对象
+ _put_map = true
}
--window 列表
@@ -41,216 +43,223 @@ local WindowQueue = {
local M = BaseWindow
function BaseWindow.new(url, blur_view)
- local self = setmetatable({}, { __index = M })
- self.class = "BaseWindow"
- -- self._blur_view = blur_view
- self:init(url)
- return self
+ local self = setmetatable({}, { __index = M })
+ self.class = "BaseWindow"
+ -- self._blur_view = blur_view
+ self:init(url)
+ return self
end
local win_url = {
- "ui://Common/Gcm_Window",
- "ui://Common/Gcm_Window_Full"
+ "ui://Common/Gcm_Window",
+ "ui://Common/Gcm_Window_Full"
}
function M:init(url)
- self._root_view = UIPackage.CreateObjectFromURL(self._full and win_url[2] or win_url[1])
- local contentPane = self._root_view:GetChild("contentPane")
- local ctr_hide_bg = self._root_view:GetController("hide_bg")
- if self._anim_pop ~= 0 then
- ctr_hide_bg.selectedIndex = 1
- PopPanel = contentPane:GetChild("PopPanel")
- else
- ctr_hide_bg.selectedIndex = 0
- end
- printlog(url)
- self._view = UIPackage.CreateObjectFromURL(url)
- printlog(self._view)
- -- self._view.fairyBatching = true
- local btn_close = self._view:GetChild("btn_close")
- if (btn_close) then
- btn_close.onClick:Set(function()
- self:CloseEvent()
- end)
- end
+ self._root_view = UIPackage.CreateObjectFromURL(self._full and win_url[2] or win_url[1])
+ local contentPane = self._root_view:GetChild("contentPane")
+ local ctr_hide_bg = self._root_view:GetController("hide_bg")
+ if self._anim_pop ~= 0 then
+ ctr_hide_bg.selectedIndex = 1
+ PopPanel = contentPane:GetChild("PopPanel")
+ else
+ ctr_hide_bg.selectedIndex = 0
+ end
+ printlog(url)
+ self._view = UIPackage.CreateObjectFromURL(url)
+ printlog(self._view)
+ -- self._view.fairyBatching = true
+ local btn_close = self._view:GetChild("btn_close")
+ if (btn_close) then
+ btn_close.onClick:Set(function()
+ self:CloseEvent()
+ end)
+ end
- local win_mode = self._root_view:GetChild("win_mode")
- win_mode.onClick:Set(function()
- if not self._close_zone then
- return
- end
- win_mode.touchable = false
- self:CloseEvent()
- end)
- printlog("======================================", self._full)
- if self._full then
- local offset = get_offset(self._full_offset)
- if self._anim_pop == 0 then
- self._view:AddRelation(contentPane, RelationType.Size)
- contentPane:AddChild(self._view)
- else
- contentPane:RemoveRelation(self._root_view, RelationType.Center_Center)
- contentPane:AddRelation(self._root_view, RelationType.Middle_Middle)
- PopPanel:AddChild(self._view)
- local click_item = PopPanel:GetChild("click_item")
- if self._anim_pop == 1 then
- contentPane:AddRelation(self._root_view, RelationType.Left_Left)
- self._view.x = 0
- elseif self._anim_pop == 2 then
- contentPane:AddRelation(self._root_view, RelationType.Right_Right)
- self._view.x = GRoot.inst.width - self._view.width - offset
- end
- print("lingmeng", PopPanel.height, self._view.height)
- self._view.y = (PopPanel.height - self._view.height) * 0.5
- click_item.xy = self._view.xy
- click_item.width = self._view.width
- click_item.height = self._view.height
- end
- else
- contentPane:AddChild(self._view)
- contentPane.height = self._view.height
- contentPane.width = self._view.width
- contentPane:Center()
- end
- self._contentPane = contentPane
- if self._put_map then
- WindowMap[#WindowMap + 1] = self
- end
+ local win_mode = self._root_view:GetChild("win_mode")
+ win_mode.onClick:Set(function()
+ if not self._close_zone then
+ return
+ end
+ win_mode.touchable = false
+ self:CloseEvent()
+ end)
+ printlog("======================================", self._full)
+ if self._full then
+ local offset = get_offset(self._full_offset)
+ if self._anim_pop == 0 then
+ self._view:AddRelation(contentPane, RelationType.Size)
+ contentPane:AddChild(self._view)
+ else
+ contentPane:RemoveRelation(self._root_view, RelationType.Center_Center)
+ contentPane:AddRelation(self._root_view, RelationType.Middle_Middle)
+ PopPanel:AddChild(self._view)
+ local click_item = PopPanel:GetChild("click_item")
+ if self._anim_pop == 1 then
+ contentPane:AddRelation(self._root_view, RelationType.Left_Left)
+ self._view.x = 0
+ elseif self._anim_pop == 2 then
+ contentPane:AddRelation(self._root_view, RelationType.Right_Right)
+ self._view.x = GRoot.inst.width - self._view.width - offset
+ end
+ print("lingmeng", PopPanel.height, self._view.height)
+ self._view.y = (PopPanel.height - self._view.height) * 0.5
+ click_item.xy = self._view.xy
+ click_item.width = self._view.width
+ click_item.height = self._view.height
+ end
+ else
+ contentPane:AddChild(self._view)
+ contentPane.height = self._view.height
+ contentPane.width = self._view.width
+ contentPane:Center()
+ end
+ self._contentPane = contentPane
+ if self._put_map then
+ WindowMap[#WindowMap + 1] = self
+ end
end
-- 显示窗口
function M:Show()
- -- print("===========================================entershow",M.class)
- local contentPane = self._root_view:GetChild("contentPane")
- if self._anim_pop == 1 then
- contentPane:GetTransition("left_pop"):Play()
- elseif self._anim_pop == 2 then
- contentPane:GetTransition("right_pop"):Play()
- elseif self._animation then
- local ani_in = self._root_view:GetTransition("in")
- if ani_in then
- ani_in:Play()
- end
- end
- -- if self._blur_view then
- -- BlurView(self._blur_view,true)
- -- end
+ -- print("===========================================entershow",M.class)
+ local contentPane = self._root_view:GetChild("contentPane")
+ if self._anim_pop == 1 then
+ contentPane:GetTransition("left_pop"):Play()
+ elseif self._anim_pop == 2 then
+ contentPane:GetTransition("right_pop"):Play()
+ elseif self._animation then
+ local ani_in = self._root_view:GetTransition("in")
+ if ani_in then
+ ani_in:Play()
+ end
+ end
+ -- if self._blur_view then
+ -- BlurView(self._blur_view,true)
+ -- end
- -- 判断当前窗口是否已经在队列中,如果在就不重复添加
- local _inQueue = false
+ -- 判断当前窗口是否已经在队列中,如果在就不重复添加
+ local _inQueue = false
- if self._new_hide then
- for i = 1, #WindowQueue do
- local win = WindowQueue[i]
- if win == self then
- _inQueue = true
- end
- if win._queue then
- win._root_view:RemoveFromParent()
- end
- end
- end
- if self._queue and not _inQueue then
- WindowQueue[#WindowQueue + 1] = self
- end
- AddPanel(self._root_view)
- if self._full then
- local offset = get_offset(self._full_offset)
- self._contentPane.width = GRoot.inst.width - 2 * offset
- self._contentPane.height = GRoot.inst.height
- self._contentPane.x = offset
- end
+ if self._new_hide then
+ for i = 1, #WindowQueue do
+ local win = WindowQueue[i]
+ if win == self then
+ _inQueue = true
+ end
+ if win._queue then
+ win._root_view:RemoveFromParent()
+ end
+ end
+ end
+ if self._queue and not _inQueue then
+ WindowQueue[#WindowQueue + 1] = self
+ end
+ AddPanel(self._root_view)
+
+ if self._scale then
+ local scaleY = GRoot.inst.height / self._contentPane.height
+ local scaleX = GRoot.inst.width / self._contentPane.width
+ self._contentPane:SetScale(scaleX, scaleY)
+ end
+
+ if self._full then
+ local offset = get_offset(self._full_offset)
+ self._contentPane.width = GRoot.inst.width - 2 * offset
+ self._contentPane.height = GRoot.inst.height
+ self._contentPane.x = offset
+ end
end
-- 关闭窗口
function M:Close()
- -- if self._blur_view then
- -- BlurView(self._blur_view,false)
- -- end
- if self._queue then
- for i, v in ipairs(WindowQueue) do
- if v == self then
- table.remove(WindowQueue, i)
- break
- end
- end
- end
+ -- if self._blur_view then
+ -- BlurView(self._blur_view,false)
+ -- end
+ if self._queue then
+ for i, v in ipairs(WindowQueue) do
+ if v == self then
+ table.remove(WindowQueue, i)
+ break
+ end
+ end
+ end
- if self._new_hide then
- local win = WindowQueue[#WindowQueue]
- if win and win._queue then
- AddPanel(win._root_view)
- end
- end
- self._root_view:RemoveFromParent()
+ if self._new_hide then
+ local win = WindowQueue[#WindowQueue]
+ if win and win._queue then
+ AddPanel(win._root_view)
+ end
+ end
+ self._root_view:RemoveFromParent()
end
local _destroy_all = false
-- 销毁窗口
function M:Destroy()
- if self._is_destroy then
- return
- end
- if not _destroy_all then
- self:Close()
- if self._put_map then
- for i, v in ipairs(WindowMap) do
- if v == self then
- table.remove(WindowMap, i)
- break
- end
- end
- end
- end
- self._is_destroy = true
- self._root_view:Dispose()
+ if self._is_destroy then
+ return
+ end
+ if not _destroy_all then
+ self:Close()
+ if self._put_map then
+ for i, v in ipairs(WindowMap) do
+ if v == self then
+ table.remove(WindowMap, i)
+ break
+ end
+ end
+ end
+ end
+ self._is_destroy = true
+ self._root_view:Dispose()
end
function M:CloseEvent()
- local win_mode = self._root_view:GetChild("win_mode")
- if self._anim_pop == 0 then
- if self._close_destroy then
- self:Destroy()
- else
- self:Close()
- win_mode.touchable = true
- end
- else
- self:ActionWithAnim(function()
- if self._close_destroy then
- self:Destroy()
- else
- self:Close()
- win_mode.touchable = true
- end
- end)
- end
+ local win_mode = self._root_view:GetChild("win_mode")
+ if self._anim_pop == 0 then
+ if self._close_destroy then
+ self:Destroy()
+ else
+ self:Close()
+ win_mode.touchable = true
+ end
+ else
+ self:ActionWithAnim(function()
+ if self._close_destroy then
+ self:Destroy()
+ else
+ self:Close()
+ win_mode.touchable = true
+ end
+ end)
+ end
end
function M:ActionWithAnim(callback)
- local contentPane = self._root_view:GetChild("contentPane")
- if self._anim_pop == 1 then
- contentPane:GetTransition("left_pop_back"):Play()
- elseif self._anim_pop == 2 then
- contentPane:GetTransition("right_pop_back"):Play()
- end
- if callback then
- coroutine.start(function()
- coroutine.wait(0.3)
- callback()
- end)
- end
+ local contentPane = self._root_view:GetChild("contentPane")
+ if self._anim_pop == 1 then
+ contentPane:GetTransition("left_pop_back"):Play()
+ elseif self._anim_pop == 2 then
+ contentPane:GetTransition("right_pop_back"):Play()
+ end
+ if callback then
+ coroutine.start(function()
+ coroutine.wait(0.3)
+ callback()
+ end)
+ end
end
function BaseWindow.DestroyAll()
- _destroy_all = true
- local list = WindowMap
- for i = 1, #list do
- local win = list[i]
- win:Destroy()
- end
- _destroy_all = false
- WindowQueue = {}
- WindowMap = {}
+ _destroy_all = true
+ local list = WindowMap
+ for i = 1, #list do
+ local win = list[i]
+ win:Destroy()
+ end
+ _destroy_all = false
+ WindowQueue = {}
+ WindowMap = {}
end
diff --git a/wb_new_ui/assets/Family/MyFamily/Component/item_myFamilyList.xml b/wb_new_ui/assets/Family/MyFamily/Component/item_myFamilyList.xml
index 731e3ed1..e5346be2 100644
--- a/wb_new_ui/assets/Family/MyFamily/Component/item_myFamilyList.xml
+++ b/wb_new_ui/assets/Family/MyFamily/Component/item_myFamilyList.xml
@@ -1,15 +1,25 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/wb_new_ui/assets/Family/MyFamily/com_myFamilyList.xml b/wb_new_ui/assets/Family/MyFamily/com_myFamilyList.xml
index 13afd530..507ddb5a 100644
--- a/wb_new_ui/assets/Family/MyFamily/com_myFamilyList.xml
+++ b/wb_new_ui/assets/Family/MyFamily/com_myFamilyList.xml
@@ -11,13 +11,18 @@
-
-
-
-
+
+
+
+
+
+
+
+
+
\ No newline at end of file
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 573824bd..0f259f2b 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