@@ -19,42 +19,63 @@ public static void CreatUIManager(Vector2 referenceResolution, CanvasScaler.Scre
1919 //UIManager
2020 GameObject UIManagerGo = new GameObject ( "UIManager" ) ;
2121 UIManagerGo . layer = LayerMask . NameToLayer ( "UI" ) ;
22- //UIManager UIManager = UIManagerGo.AddComponent<UIManager>();
23- UIManagerGo . AddComponent < UIManager > ( ) ;
22+ UIManager UIManager = UIManagerGo . AddComponent < UIManager > ( ) ;
23+
24+ CreateUICamera ( UIManager , "DefaultUI" , 1 , referenceResolution , MatchMode , isOnlyUICamera , isVertical ) ;
25+
26+ ProjectWindowUtil . ShowCreatedAsset ( UIManagerGo ) ;
27+
28+ //保存UIManager
29+ ReSaveUIManager ( UIManagerGo ) ;
30+ }
31+
32+ public static void CreateUICamera ( UIManager UIManager , string key , float cameraDepth , Vector2 referenceResolution , CanvasScaler . ScreenMatchMode MatchMode , bool isOnlyUICamera , bool isVertical )
33+ {
34+ UILayerManager . UICameraData uICameraData = new UILayerManager . UICameraData ( ) ;
35+
36+ uICameraData . m_key = key ;
37+
38+ GameObject UIManagerGo = UIManager . gameObject ;
39+ GameObject canvas = new GameObject ( key ) ;
40+ RectTransform canvasRt = canvas . AddComponent < RectTransform > ( ) ;
41+
42+ canvasRt . SetParent ( UIManagerGo . transform ) ;
43+ uICameraData . m_root = canvas ;
2444
2545 //UIcamera
2646 GameObject cameraGo = new GameObject ( "UICamera" ) ;
27- cameraGo . transform . SetParent ( UIManagerGo . transform ) ;
47+ cameraGo . transform . SetParent ( canvas . transform ) ;
2848 cameraGo . transform . localPosition = new Vector3 ( 0 , 0 , - 1000 ) ;
2949 Camera camera = cameraGo . AddComponent < Camera > ( ) ;
3050 camera . cullingMask = LayerMask . GetMask ( "UI" ) ;
3151 camera . orthographic = true ;
32- if ( ! isOnlyUICamera )
33- {
34- camera . clearFlags = CameraClearFlags . Depth ;
35- camera . depth = 1 ;
36- }
37- else
38- {
39- camera . clearFlags = CameraClearFlags . SolidColor ;
40- camera . backgroundColor = Color . black ;
41- }
52+ camera . depth = cameraDepth ;
53+ uICameraData . m_camera = camera ;
4254
4355 //Canvas
44- Canvas canvas = UIManagerGo . AddComponent < Canvas > ( ) ;
45- canvas . renderMode = RenderMode . ScreenSpaceCamera ;
46- canvas . worldCamera = camera ;
56+ Canvas canvasComp = canvas . AddComponent < Canvas > ( ) ;
57+ canvasComp . renderMode = RenderMode . ScreenSpaceCamera ;
58+ canvasComp . worldCamera = camera ;
4759
4860 //UI Raycaster
49- //GraphicRaycaster Graphic = UIManagerGo.AddComponent<GraphicRaycaster>();
50- UIManagerGo . AddComponent < GraphicRaycaster > ( ) ;
61+ canvas . AddComponent < GraphicRaycaster > ( ) ;
5162
5263 //CanvasScaler
53- CanvasScaler scaler = UIManagerGo . AddComponent < CanvasScaler > ( ) ;
64+ CanvasScaler scaler = canvas . AddComponent < CanvasScaler > ( ) ;
5465 scaler . uiScaleMode = CanvasScaler . ScaleMode . ScaleWithScreenSize ;
5566 scaler . referenceResolution = referenceResolution ;
5667 scaler . screenMatchMode = MatchMode ;
5768
69+ if ( ! isOnlyUICamera )
70+ {
71+ camera . clearFlags = CameraClearFlags . Depth ;
72+ camera . depth = 1 ;
73+ }
74+ else
75+ {
76+ camera . clearFlags = CameraClearFlags . SolidColor ;
77+ camera . backgroundColor = Color . black ;
78+ }
5879 if ( isVertical )
5980 {
6081 scaler . matchWidthOrHeight = 1 ;
@@ -67,73 +88,77 @@ public static void CreatUIManager(Vector2 referenceResolution, CanvasScaler.Scre
6788 //挂载点
6889 GameObject goTmp = null ;
6990 RectTransform rtTmp = null ;
70- UILayerManager layerTmp = UIManagerGo . GetComponent < UILayerManager > ( ) ;
91+ UILayerManager UILayerManager = UIManagerGo . GetComponent < UILayerManager > ( ) ;
7192
7293 goTmp = new GameObject ( "GameUI" ) ;
7394 goTmp . layer = LayerMask . NameToLayer ( "UI" ) ;
74- goTmp . transform . SetParent ( UIManagerGo . transform ) ;
95+ goTmp . transform . SetParent ( canvas . transform ) ;
7596 goTmp . transform . localScale = Vector3 . one ;
7697 rtTmp = goTmp . AddComponent < RectTransform > ( ) ;
7798 rtTmp . anchorMax = new Vector2 ( 1 , 1 ) ;
7899 rtTmp . anchorMin = new Vector2 ( 0 , 0 ) ;
79100 rtTmp . anchoredPosition3D = Vector3 . zero ;
80101 rtTmp . sizeDelta = Vector2 . zero ;
81- layerTmp . m_GameUILayerParent = goTmp . transform ;
102+ uICameraData . m_GameUILayerParent = goTmp . transform ;
82103
83104 goTmp = new GameObject ( "Fixed" ) ;
84105 goTmp . layer = LayerMask . NameToLayer ( "UI" ) ;
85- goTmp . transform . SetParent ( UIManagerGo . transform ) ;
106+ goTmp . transform . SetParent ( canvas . transform ) ;
86107 goTmp . transform . localScale = Vector3 . one ;
87108 rtTmp = goTmp . AddComponent < RectTransform > ( ) ;
88109 rtTmp . anchorMax = new Vector2 ( 1 , 1 ) ;
89110 rtTmp . anchorMin = new Vector2 ( 0 , 0 ) ;
90111 rtTmp . anchoredPosition3D = Vector3 . zero ;
91112 rtTmp . sizeDelta = Vector2 . zero ;
92- layerTmp . m_FixedLayerParent = goTmp . transform ;
113+ uICameraData . m_FixedLayerParent = goTmp . transform ;
93114
94115 goTmp = new GameObject ( "Normal" ) ;
95116 goTmp . layer = LayerMask . NameToLayer ( "UI" ) ;
96- goTmp . transform . SetParent ( UIManagerGo . transform ) ;
117+ goTmp . transform . SetParent ( canvas . transform ) ;
97118 goTmp . transform . localScale = Vector3 . one ;
98119 rtTmp = goTmp . AddComponent < RectTransform > ( ) ;
99120 rtTmp . anchorMax = new Vector2 ( 1 , 1 ) ;
100121 rtTmp . anchorMin = new Vector2 ( 0 , 0 ) ;
101122 rtTmp . anchoredPosition3D = Vector3 . zero ;
102123 rtTmp . sizeDelta = Vector2 . zero ;
103- layerTmp . m_NormalLayerParent = goTmp . transform ;
124+ uICameraData . m_NormalLayerParent = goTmp . transform ;
104125
105126 goTmp = new GameObject ( "TopBar" ) ;
106127 goTmp . layer = LayerMask . NameToLayer ( "UI" ) ;
107- goTmp . transform . SetParent ( UIManagerGo . transform ) ;
128+ goTmp . transform . SetParent ( canvas . transform ) ;
108129 goTmp . transform . localScale = Vector3 . one ;
109130 rtTmp = goTmp . AddComponent < RectTransform > ( ) ;
110131 rtTmp . anchorMax = new Vector2 ( 1 , 1 ) ;
111132 rtTmp . anchorMin = new Vector2 ( 0 , 0 ) ;
112133 rtTmp . anchoredPosition3D = Vector3 . zero ;
113134 rtTmp . sizeDelta = Vector2 . zero ;
114- layerTmp . m_TopbarLayerParent = goTmp . transform ;
135+ uICameraData . m_TopbarLayerParent = goTmp . transform ;
115136
116137 goTmp = new GameObject ( "PopUp" ) ;
117138 goTmp . layer = LayerMask . NameToLayer ( "UI" ) ;
118- goTmp . transform . SetParent ( UIManagerGo . transform ) ;
139+ goTmp . transform . SetParent ( canvas . transform ) ;
119140 goTmp . transform . localScale = Vector3 . one ;
120141 rtTmp = goTmp . AddComponent < RectTransform > ( ) ;
121142 rtTmp . anchorMax = new Vector2 ( 1 , 1 ) ;
122143 rtTmp . anchorMin = new Vector2 ( 0 , 0 ) ;
123144 rtTmp . anchoredPosition3D = Vector3 . zero ;
124145 rtTmp . sizeDelta = Vector2 . zero ;
125- layerTmp . m_PopUpLayerParent = goTmp . transform ;
126- //m_UILayerManager = layerTmp;
146+ uICameraData . m_PopUpLayerParent = goTmp . transform ;
127147
128- ProjectWindowUtil . ShowCreatedAsset ( UIManagerGo ) ;
148+ UILayerManager . UICameraList . Add ( uICameraData ) ;
129149
150+ //重新保存
151+ ReSaveUIManager ( UIManagerGo ) ;
152+ }
153+
154+ static void ReSaveUIManager ( GameObject UIManagerGo )
155+ {
130156 string Path = "Resources/UI/UIManager.prefab" ;
131157 FileTool . CreatFilePath ( Application . dataPath + "/" + Path ) ;
132158 PrefabUtility . CreatePrefab ( "Assets/" + Path , UIManagerGo , ReplacePrefabOptions . ConnectToPrefab ) ;
133-
134159 }
135160
136- public static void CreatUI ( string UIWindowName , UIType UIType , UILayerManager UILayerManager , bool isAutoCreatePrefab )
161+ public static void CreatUI ( string UIWindowName , string UIcameraKey , UIType UIType , UILayerManager UILayerManager , bool isAutoCreatePrefab )
137162 {
138163 GameObject uiGo = new GameObject ( UIWindowName ) ;
139164
@@ -340,9 +365,9 @@ public static void CreateGuideWindow()
340365
341366 guideBaseTmp . m_objectList . Add ( Text_tips ) ;
342367
343- guideBaseTmp . m_mask = img ;
344- guideBaseTmp . m_TipText = text ;
345- guideBaseTmp . m_TipTransfrom = txt_tipsrt ;
368+ // guideBaseTmp.m_mask = img;
369+ // guideBaseTmp.m_TipText = text;
370+ // guideBaseTmp.m_TipTransfrom = txt_tipsrt;
346371
347372 guideBaseTmp . m_bgMask = BgGo ;
348373 guideBaseTmp . m_uiRoot = rootGo ;
0 commit comments