private void OnGUI() { if (target == null || EditorApplication.isCompiling) { Close(); DestroyImmediate(this); _instance = null; } if (fairGUIItems == null) { target.LoadAllAssets(); fairGUIItems = target.GetItems(); Debug.Log("$$ loaded assets count:" + fairGUIItems.Count); selectInfos = new bool[fairGUIItems.Count]; } EditorGUILayout.BeginVertical(); scrollPos = EditorGUILayout.BeginScrollView(scrollPos); for (int i = 0, c = selectInfos.Length; i < c; i++) { var itemName = fairGUIItems[i].name; if (!string.IsNullOrEmpty(itemName)) { //GUI.Button(Rect.MinMaxRect(0, 0, 600, 80), ""); //EditorGUI.DropdownButton(Rect.MinMaxRect(0, 0, 600, 80), new GUIContent("", ""), FocusType.Passive); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField(itemName); selectInfos[i] = EditorGUILayout.Toggle(selectInfos[i]); EditorGUILayout.EndHorizontal(); } } EditorGUILayout.EndScrollView(); EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.Space(); if (GUILayout.Button("生成Ctrl")) { List <FairyGUI.PackageItem> itemsToGen = new List <FairyGUI.PackageItem>(); for (int i = 0, c = selectInfos.Length; i < c; i++) { if (selectInfos[i]) { itemsToGen.Add(fairGUIItems[i]); } } CodeGenerator.GenerateCtrlPartGen(itemsToGen, target); CodeGenerator.GenerateCtrlPartMain(itemsToGen); } EditorGUILayout.EndVertical(); }
public static void Create(FairyGUI.UIPackage target) { if (_instance != null) { _instance.Close(); _instance = null; } _instance = CreateInstance <CodeGenerateEditor>(); _instance.target = target; _instance.Show(); }
public static void PickPackageToGenerateCode() { if (UnityEditor.Selection.objects.Length > 1) { return; } var selected = UnityEditor.Selection.activeObject; var path = AssetDatabase.GetAssetPath(selected); if (!path.StartsWith(FairyGUIImportSetting.UIRes_Path) && !path.StartsWith(FairyGUIImportSetting.UIRes_Path1)) { return; } var Object = selected as Object; if (Object.name.Contains("@")) { return; } var packageName = Object.name.Split('.')[0]; #region Comment reload //FairyGUI.UIPackage.RemovePackage(packageName); //FairyGUI.UIPackage.AddPackage(path, (string name, string extension, System.Type type) => //{ // AssetDatabase.LoadAssetAtPath<type>() //}); #endregion FairyGUI.UIPackage pak = FairyGUI.UIPackage.AddPackage("FairyGUIPak/Common"); //FairyGUIEditor.EditorToolSet.LoadPackages(); //FairyGUIEditor.EditorToolSet.ReloadPackages(); Debug.Log("$$ will load package:" + packageName); //pak = FairyGUI.UIPackage.GetByName("FairyGUIPak" + "/" + packageName); if (pak != null) { Debug.Log("$$ display code generate panel..."); CodeGenerateEditor.Create(pak); } }