@@ -77,7 +77,6 @@ private static void SetPositionVisibleinSceneView( RectTransform canvasRTransfor
7777 itemTransform . localRotation = Quaternion . identity ;
7878 itemTransform . localScale = Vector3 . one ;
7979 }
80-
8180 private static void PlaceUIElementRoot ( GameObject element , MenuCommand menuCommand )
8281 {
8382 GameObject parent = menuCommand . context as GameObject ;
@@ -93,7 +92,19 @@ private static void PlaceUIElementRoot( GameObject element , MenuCommand menuCom
9392 SetPositionVisibleinSceneView ( parent . GetComponent < RectTransform > ( ) , element . GetComponent < RectTransform > ( ) ) ;
9493 Selection . activeGameObject = element ;
9594 }
96-
95+ public static GameObject CreateNewUI ( )
96+ {
97+ GameObject canvas = new GameObject ( ) ;
98+ canvas . name = GameObjectUtility . GetUniqueNameForSibling ( null , "Canvas" ) ;
99+ canvas . layer = LayerMask . NameToLayer ( UI_LAYER_NAME ) ;
100+ canvas . AddComponent < Canvas > ( ) ;
101+ canvas . GetComponent < Canvas > ( ) . renderMode = RenderMode . ScreenSpaceOverlay ;
102+ canvas . AddComponent < CanvasScaler > ( ) ;
103+ canvas . AddComponent < GraphicRaycaster > ( ) ;
104+ Undo . RegisterCreatedObjectUndo ( canvas , "Create" + canvas . name ) ;
105+ CreateEventSystem ( false ) ;
106+ return canvas ;
107+ }
97108 public static GameObject GetOrCreateCanvasGameObject ( )
98109 {
99110 GameObject selectedGo = Selection . activeGameObject ;
@@ -105,6 +116,30 @@ public static GameObject GetOrCreateCanvasGameObject( )
105116 return canvas . gameObject ;
106117 return CreateNewUI ( ) ;
107118 }
119+ private static void CreateEventSystem ( bool select )
120+ {
121+ CreateEventSystem ( select , null ) ;
122+ }
123+ private static void CreateEventSystem ( bool select , GameObject parent )
124+ {
125+ var esys = Object . FindObjectOfType < EventSystem > ( ) ;
126+ if ( esys == null )
127+ {
128+ var eventSystem = new GameObject ( "EventSystem" ) ;
129+ GameObjectUtility . SetParentAndAlign ( eventSystem , parent ) ;
130+ esys = eventSystem . AddComponent < EventSystem > ( ) ;
131+ eventSystem . AddComponent < StandaloneInputModule > ( ) ;
132+
133+ Undo . RegisterCreatedObjectUndo ( eventSystem , "Create " + eventSystem . name ) ;
134+ }
135+
136+ if ( select && esys != null )
137+ {
138+ Selection . activeGameObject = esys . gameObject ;
139+ }
140+ }
141+
142+ #region 目录树 && 目录节点模板
108143
109144 [ MenuItem ( "GameObject/UI/UITree" , false , 2063 ) ]
110145 public static void AddUITree ( MenuCommand menuCommand )
@@ -120,6 +155,10 @@ public static void AddUITreeNode( MenuCommand menuCommand )
120155 PlaceUIElementRoot ( uiTreeNode , menuCommand ) ;
121156 }
122157
158+ #endregion
159+
160+ #region 双击按钮 && 长击按钮
161+
123162 [ MenuItem ( "GameObject/UI/Buttons/DoubleClickButton" , false , 2065 ) ]
124163 public static void AddDoubleClickButton ( MenuCommand menuCommand )
125164 {
@@ -134,42 +173,26 @@ public static void AddLongClickButton( MenuCommand menuCommand )
134173 PlaceUIElementRoot ( lcButton , menuCommand ) ;
135174 }
136175
137- private static void CreateEventSystem ( bool select )
138- {
139- CreateEventSystem ( select , null ) ;
140- }
176+ #endregion
141177
142- private static void CreateEventSystem ( bool select , GameObject parent )
143- {
144- var esys = Object . FindObjectOfType < EventSystem > ( ) ;
145- if ( esys == null )
146- {
147- var eventSystem = new GameObject ( "EventSystem" ) ;
148- GameObjectUtility . SetParentAndAlign ( eventSystem , parent ) ;
149- esys = eventSystem . AddComponent < EventSystem > ( ) ;
150- eventSystem . AddComponent < StandaloneInputModule > ( ) ;
178+ #region 日历 && 日期拾取器
151179
152- Undo . RegisterCreatedObjectUndo ( eventSystem , "Create " + eventSystem . name ) ;
153- }
154-
155- if ( select && esys != null )
156- {
157- Selection . activeGameObject = esys . gameObject ;
158- }
180+ [ MenuItem ( "GameObject/UI/Calendar" ) ]
181+ public static void AddCalendar ( MenuCommand menuCommand )
182+ {
183+ GameObject calendar = SpringGUIDefaultControls . CreateCalendar ( GetStandardResources ( ) ) ;
184+ PlaceUIElementRoot ( calendar , menuCommand ) ;
185+ calendar . transform . localPosition = Vector3 . zero ;
159186 }
160187
161- public static GameObject CreateNewUI ( )
188+ [ MenuItem ( "GameObject/UI/DatePicker" ) ]
189+ public static void AddDatePicker ( MenuCommand menuCommand )
162190 {
163- GameObject canvas = new GameObject ( ) ;
164- canvas . name = GameObjectUtility . GetUniqueNameForSibling ( null , "Canvas" ) ;
165- canvas . layer = LayerMask . NameToLayer ( UI_LAYER_NAME ) ;
166- canvas . AddComponent < Canvas > ( ) ;
167- canvas . GetComponent < Canvas > ( ) . renderMode = RenderMode . ScreenSpaceOverlay ;
168- canvas . AddComponent < CanvasScaler > ( ) ;
169- canvas . AddComponent < GraphicRaycaster > ( ) ;
170- Undo . RegisterCreatedObjectUndo ( canvas , "Create" + canvas . name ) ;
171- CreateEventSystem ( false ) ;
172- return canvas ;
191+ GameObject datePicker = SpringGUIDefaultControls . CreateDatePicker ( GetStandardResources ( ) ) ;
192+ PlaceUIElementRoot ( datePicker , menuCommand ) ;
193+ datePicker . transform . localPosition = Vector3 . zero ;
173194 }
195+
196+ #endregion
174197 }
175198}
0 commit comments