1+ using System ;
2+ using System . Collections . Generic ;
3+ using UnityEngine ;
4+
5+ namespace KoganeEditorLib . Internal
6+ {
7+ [ CreateAssetMenu ( fileName = "ProjectWindowMenuSettings" , order = 9001 ) ]
8+ internal sealed class ProjectWindowMenuSettings : ScriptableObject
9+ {
10+ [ SerializeField ] private Data [ ] m_list = null ;
11+
12+ public IList < Data > List => m_list ;
13+
14+ public void Reset ( )
15+ {
16+ m_list = new Data [ 0 ] ;
17+ }
18+
19+ public void ResetToDefault ( )
20+ {
21+ m_list = new [ ]
22+ {
23+ new Data ( "Create/Folder" , "Assets/Create/Folder" ) ,
24+
25+ new Data ( "Create/" ) ,
26+
27+ new Data ( "Create/C# Script" , "Assets/Create/C# Script" ) ,
28+
29+ new Data ( "Create/Shader/Standard Surface Shader" , "Assets/Create/Shader/Standard Surface Shader" ) ,
30+ new Data ( "Create/Shader/Unlit Shader" , "Assets/Create/Shader/Unlit Shader" ) ,
31+ new Data ( "Create/Shader/Image Effect Shader" , "Assets/Create/Shader/Image Effect Shader" ) ,
32+ new Data ( "Create/Shader/Compute Shader" , "Assets/Create/Shader/Compute Shader" ) ,
33+ new Data ( "Create/Shader/Ray Tracing Shader" , "Assets/Create/Shader/Ray Tracing Shader" ) ,
34+
35+ new Data ( "Create/Shader/" ) ,
36+
37+ new Data ( "Create/Shader/Shader Variant Collection" , "Assets/Create/Shader/Shader Variant Collection" ) ,
38+
39+ new Data ( "Create/Testing/Tests Assembly Folder" , "Assets/Create/Testing/Tests Assembly Folder" ) ,
40+ new Data ( "Create/Testing/C# Test Script" , "Assets/Create/Testing/C# Test Script" ) ,
41+
42+ new Data
43+ (
44+ "Create/Playables/Playable Behaviour C# Script" ,
45+ "Assets/Create/Playables/Playable Behaviour C# Script"
46+ ) ,
47+ new Data
48+ (
49+ "Create/Playables/Playable Asset C# Script" ,
50+ "Assets/Create/Playables/Playable Asset C# Script"
51+ ) ,
52+
53+ new Data ( "Create/Assembly Definition" , "Assets/Create/Assembly Definition" ) ,
54+ new Data ( "Create/Assembly Definition Reference" , "Assets/Create/Assembly Definition Reference" ) ,
55+
56+ new Data ( "Create/TextMeshPro/Font Asset" , "Assets/Create/TextMeshPro/Font Asset" ) ,
57+ new Data ( "Create/TextMeshPro/Sprite Asset" , "Assets/Create/TextMeshPro/Sprite Asset" ) ,
58+ new Data ( "Create/TextMeshPro/Color Gradient" , "Assets/Create/TextMeshPro/Color Gradient" ) ,
59+ new Data ( "Create/TextMeshPro/Style Sheet" , "Assets/Create/TextMeshPro/Style Sheet" ) ,
60+
61+ new Data ( "Create/" ) ,
62+
63+ new Data ( "Create/Scene" , "Assets/Create/Scene" ) ,
64+ new Data ( "Create/Prefab Variant" , "Assets/Create/Prefab Variant" ) ,
65+
66+ new Data ( "Create/" ) ,
67+
68+ new Data ( "Create/Audio Mixer" , "Assets/Create/Audio Mixer" ) ,
69+
70+ new Data ( "Create/" ) ,
71+
72+ new Data ( "Create/Material" , "Assets/Create/Material" ) ,
73+ new Data ( "Create/Lens Flare" , "Assets/Create/Lens Flare" ) ,
74+ new Data ( "Create/Render Texture" , "Assets/Create/Render Texture" ) ,
75+ new Data ( "Create/Lightmap Parameters" , "Assets/Create/Lightmap Parameters" ) ,
76+ new Data ( "Create/Custom Render Texture" , "Assets/Create/Custom Render Texture" ) ,
77+
78+ new Data ( "Create/" ) ,
79+
80+ new Data ( "Create/Sprite Atlas" , "Assets/Create/Sprite Atlas" ) ,
81+
82+ new Data ( "Create/Sprites/Square" , "Assets/Create/Sprites/Square" ) ,
83+ new Data ( "Create/Sprites/Triangle" , "Assets/Create/Sprites/Triangle" ) ,
84+ new Data ( "Create/Sprites/Diamond" , "Assets/Create/Sprites/Diamond" ) ,
85+ new Data ( "Create/Sprites/Hexagon" , "Assets/Create/Sprites/Hexagon" ) ,
86+ new Data ( "Create/Sprites/Circle" , "Assets/Create/Sprites/Circle" ) ,
87+ new Data ( "Create/Sprites/Polygon" , "Assets/Create/Sprites/Polygon" ) ,
88+
89+ new Data ( "Create/Tile" , "Assets/Create/Tile" ) ,
90+
91+ new Data ( "Create/" ) ,
92+
93+ new Data ( "Create/Animator Controller" , "Assets/Create/Animator Controller" ) ,
94+ new Data ( "Create/Animation" , "Assets/Create/Animation" ) ,
95+ new Data ( "Create/Animator Override Controller" , "Assets/Create/Animator Override Controller" ) ,
96+ new Data ( "Create/Avatar Mask" , "Assets/Create/Avatar Mask" ) ,
97+
98+ new Data ( "Create/" ) ,
99+
100+ new Data ( "Create/Timeline" , "Assets/Create/Timeline" ) ,
101+ new Data ( "Create/Signal" , "Assets/Create/Signal" ) ,
102+
103+ new Data ( "Create/" ) ,
104+
105+ new Data ( "Create/Physic Material" , "Assets/Create/Physic Material" ) ,
106+ new Data ( "Create/Physics Material 2D" , "Assets/Create/Physics Material 2D" ) ,
107+
108+ new Data ( "Create/" ) ,
109+
110+ new Data ( "Create/GUI Skin" , "Assets/Create/GUI Skin" ) ,
111+ new Data ( "Create/Custom Font" , "Assets/Create/Custom Font" ) ,
112+
113+ new Data ( "Create/UIElements/USS File" , "Assets/Create/UIElements/USS File" ) ,
114+ new Data ( "Create/UIElements/UXML Template" , "Assets/Create/UIElements/UXML Template" ) ,
115+
116+ new Data ( "Create/UIElements/" ) ,
117+
118+ new Data ( "Create/UIElements/Editor Window" , "Assets/Create/UIElements/Editor Window" ) ,
119+
120+ new Data ( "Create/" ) ,
121+
122+ new Data ( "Create/Legacy/Cubemap" , "Assets/Create/Legacy/Cubemap" ) ,
123+
124+ new Data ( "Create/" ) ,
125+
126+ new Data ( "Create/Brush" , "Assets/Create/Brush" ) ,
127+ new Data ( "Create/Terrain Layer" , "Assets/Create/Terrain Layer" ) ,
128+
129+ new Data ( "Show in Explorer" , "Assets/Show in Explorer" ) ,
130+ new Data ( "Open" , "Assets/Open" ) ,
131+ new Data ( "Delete" , "Assets/Delete" ) ,
132+ new Data ( "Rename" , "Assets/Rename" ) ,
133+ new Data ( "Copy Path" , "Assets/Copy Path" ) ,
134+
135+ new Data ( ) ,
136+
137+ new Data ( "Open Scene Additive" , "Assets/Open Scene Additive" ) ,
138+
139+ new Data ( ) ,
140+
141+ new Data ( "View in Package Manager" , "Assets/View in Package Manager" ) ,
142+
143+ new Data ( ) ,
144+
145+ new Data ( "Import New Asset..." , "Assets/Import New Asset..." ) ,
146+ new Data ( "Import Package/Custom Package..." , "Assets/Import Package/Custom Package..." ) ,
147+ new Data ( "Export Package" , "Assets/Export Package..." ) ,
148+ new Data ( "Find References In Scene" , "Assets/Find References In Scene" ) ,
149+ new Data ( "Select Dependencies" , "Assets/Select Dependencies" ) ,
150+
151+ new Data ( ) ,
152+
153+ new Data ( "Refresh" , "Assets/Refresh" ) ,
154+ new Data ( "Reimport" , "Assets/Reimport" ) ,
155+
156+ new Data ( ) ,
157+
158+ new Data ( "Reimport All" , "Assets/Reimport All" ) ,
159+
160+ new Data ( ) ,
161+
162+ new Data ( "Extract From Prefab" , "Assets/Extract From Prefab" ) ,
163+
164+ new Data ( ) ,
165+
166+ new Data ( "Run API Updater..." , "Assets/Run API Updater..." ) ,
167+
168+ new Data ( ) ,
169+
170+ new Data ( "Update UIElements Schema" , "Assets/Update UIElements Schema" ) ,
171+
172+ new Data ( ) ,
173+
174+ new Data ( "Open C# Project" , "Assets/Open C# Project" ) ,
175+ } ;
176+ }
177+
178+ [ Serializable ]
179+ internal sealed class Data
180+ {
181+ [ SerializeField ] private string m_name = string . Empty ;
182+ [ SerializeField ] private string m_menuItemPath = string . Empty ;
183+
184+ public string Name => m_name ;
185+ public string MenuItemPath => m_menuItemPath ;
186+ public bool IsSeparator => string . IsNullOrWhiteSpace ( m_menuItemPath ) ;
187+
188+ public Data ( )
189+ {
190+ }
191+
192+ public Data ( string name )
193+ {
194+ m_name = name ;
195+ }
196+
197+ public Data ( string name , string menuItemPath )
198+ {
199+ m_name = name ;
200+ m_menuItemPath = menuItemPath ;
201+ }
202+ }
203+ }
204+ }
0 commit comments