/// <summary> /// 创建预置 /// </summary> /// <param name="_prefab">prefab配置</param> void OnCreatePrefab(EditorEngineAssetConfig _prefab) { if (!EditorStrayFogUtility.assetBundleName.IsIllegalFile(_prefab.name)) { bool isCreate = true; if (File.Exists(_prefab.fileName)) { isCreate = EditorUtility.DisplayDialog("Exists Prefab", "The prefab '" + _prefab.fileName + "' already exists,are you sure want to cover it?", "Yes", "No"); } if (isCreate) { _prefab.CreateAsset(); GameObject prefab = PrefabUtility.LoadPrefabContents(_prefab.fileName); prefab.layer = LayerMask.NameToLayer("UI"); prefab.AddComponent <RectTransform>(); PrefabUtility.SaveAsPrefabAsset(prefab, _prefab.fileName); AssetDatabase.SaveAssets(); EditorStrayFogApplication.PingObject(prefab); EditorStrayFogApplication.ExecuteMenu_AssetsRefresh(); EditorUtility.DisplayDialog("Create New Window Prefab", "Create window prefab is complete.", "OK"); } } else { EditorUtility.DisplayDialog("Illegal Name", "Window Name is not legal.", "OK"); } }
/// <summary> /// DrawAssetNodes /// </summary> private void DrawAssetNodes() { EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Build Dynamic Dll")) { if (EditorStrayFogExecute.ExecuteBuildDynamicDll()) { EditorStrayFogApplication.MenuItemQuickDisplayDialogSucceed("Build Dynamic Dll"); } EditorStrayFogApplication.ExecuteMenu_AssetsRefresh(); } EditorGUILayout.EndHorizontal(); }
/// <summary> /// OnGUI /// </summary> void OnGUI() { DrawAssets("【Exists】", mExistsConfigs, ref mScrollViewPositionExists); DrawAssets("【NoExists】", mNoExistsConfigs, ref mScrollViewPositionNoExists); if (mNoExistsConfigs.Count > 0 && GUILayout.Button("Create Assets")) { foreach (EditorEngineAssetConfig c in mNoExistsConfigs) { c.CreateAsset(); } EditorUtility.DisplayDialog("Custom Asset ", "Create Asset success!", "OK"); EditorStrayFogApplication.ExecuteMenu_AssetsRefresh(); OnLoadConfigs(); } }
/// <summary> /// 创建脚本 /// </summary> /// <param name="_viewScript">视图脚本</param> void OnCreateScript(EditorTextAssetConfig _viewScript) { if (!EditorStrayFogUtility.assetBundleName.IsIllegalFile(_viewScript.name)) { bool hasScript = false; string hasScriptPath = string.Empty; if (mScriptConfig.paths != null && mScriptConfig.paths.Length > 0) { for (int i = 0; i < mScriptConfig.paths.Length; i++) { mTempUIWindowViewScript.SetDirectory( OnGetDirectory(mScriptConfig.paths[i], Path.GetFileName(_viewScript.directory))); mTempUIWindowViewScript.SetName(_viewScript.name); hasScript |= File.Exists(mTempUIWindowViewScript.fileName); hasScriptPath = mTempUIWindowViewScript.fileName; if (hasScript) { break; } } } if (hasScript) { EditorUtility.DisplayDialog("Exists Script", "The script 【" + _viewScript.name + "】 already exists in 【" + hasScriptPath + "】.", "OK"); } else { string windowTemplate = EditorResxTemplete.UIWindowViewTemplete; windowTemplate = windowTemplate.Replace("#NAME#", _viewScript.name); _viewScript.SetText(windowTemplate); _viewScript.CreateAsset(); EditorStrayFogApplication.ExecuteMenu_AssetsRefresh(); EditorUtility.DisplayDialog("Create New Window Script", "Create window scripts is complete.", "OK"); } } else { EditorUtility.DisplayDialog("Illegal Name", "Window Name is not legal.", "OK"); } }
/// <summary> /// OnGUI /// </summary> void OnGUI() { mNewAssetName = EditorGUILayout.TextField("资源名称", mNewAssetName); if (!string.IsNullOrEmpty(mNewAssetName.Trim())) { mScriptConfig.SetName(mNewAssetName); mAssetConfig.SetName(mNewAssetName); mAssetConfig.SetType(mNewAssetName); EditorGUILayout.LabelField("1." + mScriptConfig.fileName); EditorGUILayout.LabelField("2." + mAssetConfig.fileName); mScriptContent = mTxtScriptTemplete.Replace("#ClassName#", mNewAssetName); mScriptConfig.SetText(mScriptContent); EditorGUILayout.HelpBox(mScriptContent, MessageType.Info); if (File.Exists(mAssetConfig.fileName)) { if (GUILayout.Button("Brower")) { EditorStrayFogApplication.PingObject(mAssetConfig.fileName); } } else if (EditorStrayFogAssembly.IsExistsTypeInApplication(mNewAssetName)) { if (GUILayout.Button("Create Asset")) { mAssetConfig.CreateAsset(); EditorUtility.DisplayDialog("Custom Asset ", string.Format("Create Asset【{0}】success , path is '{1}'.", mAssetConfig.name, mAssetConfig.fileName), "OK"); EditorStrayFogApplication.ExecuteMenu_AssetsRefresh(); } } else if (GUILayout.Button("Create Script")) { mScriptConfig.CreateAsset(); EditorStrayFogApplication.ExecuteMenu_AssetsRefresh(); } } }
/// <summary> /// 保存宏定义 /// </summary> void OnSaveDefine() { EditorStrayFogUtility.macroDefineSymbol.SaveMacroDefineScriptingDefineSymbols(mCoreMacroDefineScriptingDefineSymbolsMaping); EditorUtility.DisplayDialog("Setting ScriptDefineSymbols", "Setting ScriptDefineSymbols Success.", "OK"); EditorStrayFogApplication.ExecuteMenu_AssetsRefresh(); }