From c2d7ce8311d9d6590c6153cbf72703451f718dd7 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期日, 05 五月 2019 10:38:52 +0800
Subject: [PATCH] 3335 新的一级界面框架。
---
System/WindowBase/Window.cs | 31 ++++++++++++++++++++++++++-----
1 files changed, 26 insertions(+), 5 deletions(-)
diff --git a/System/WindowBase/Window.cs b/System/WindowBase/Window.cs
index 862711b..c9d7e9a 100644
--- a/System/WindowBase/Window.cs
+++ b/System/WindowBase/Window.cs
@@ -46,6 +46,8 @@
{
if (!initialized)
{
+ AddWindowPattern();
+
if (windowInfo.clickEmptyToClose && emptyCloseButton == null)
{
AddEmptyCloseResponser();
@@ -72,15 +74,24 @@
{
windowTimer = 0f;
var parentName = string.Empty;
- if (WindowConfig.Get().FindParentWindow(this.gameObject.name, out parentName))
+ if (WindowConfig.FindParentWindow(this.gameObject.name, out parentName))
{
var parentWindow = WindowCenter.Instance.Get(parentName);
- if (parentWindow != null)
+ if (parentWindow is OneLevelWin)
+ {
+ parent = (parentWindow as OneLevelWin).subWindowContainer;
+ }
+ else
{
parent = parentWindow.transform as RectTransform;
+ }
+
+ if (parent != null)
+ {
rectTransform.MatchWhith(parent);
}
}
+
OnPreOpen();
WindowCenter.Instance.NotifyBeforeOpen(this);
}
@@ -450,11 +461,11 @@
try
{
- var isChildWindow = WindowConfig.Get().IsChildWindow(this.gameObject.name);
+ var isChildWindow = WindowConfig.IsChildWindow(this.gameObject.name);
if (isChildWindow)
{
var parentName = string.Empty;
- WindowConfig.Get().FindParentWindow(this.gameObject.name, out parentName);
+ WindowConfig.FindParentWindow(this.gameObject.name, out parentName);
var parentWindow = WindowCenter.Instance.Get(parentName);
if (parentWindow != null && parentWindow.executedActiveWindow)
{
@@ -466,7 +477,7 @@
{
OnActived();
executedActiveWindow = true;
- var childWindows = WindowConfig.Get().FindChildWindows(this.gameObject.name);
+ var childWindows = WindowConfig.GetChildWindows(this.gameObject.name);
var isParentWindow = childWindows != null;
if (isParentWindow)
{
@@ -495,6 +506,16 @@
}
}
+ private void AddWindowPattern()
+ {
+ var pattern = WindowConfig.GetWindowPattern(this.GetType().Name);
+ if (!string.IsNullOrEmpty(pattern))
+ {
+ var instance = UIUtility.CreateWidget(pattern, "Pivot");
+ instance.transform.SetParentEx(this.transform, Vector3.zero, Quaternion.identity, Vector3.one);
+ }
+ }
+
private void AddEmptyCloseResponser()
{
var emptyClose = UIUtility.CreateWidget("InvisibleButton", "EmptyClose");
--
Gitblit v1.8.0