// ========================================================================================================== // Project의 특정폴더 밑에 있는 모든 폴더명을 가져온다. public static string[] GetFolderList(string strDir, string inclusiveName, string exclusiveName, int nMinArrayCount, out int nFindFolder) { #if UNITY_WEBPLAYER Debug.LogError("In WEB_PLAYER mode, you cannot run the FXMaker."); Debug.Break(); nFindFolder = 0; return(null); #else if (strDir[strDir.Length - 1] != '/' && strDir[strDir.Length - 1] != '\\') { strDir = strDir + "/"; } int nCount = 0; DirectoryInfo dir = new DirectoryInfo(strDir); // CheckDir if (dir.Exists == false) { Debug.LogError("Directory not found - " + strDir); } DirectoryInfo[] info = dir.GetDirectories(); List <string> strList = new List <string>(); NgUtil.LogDevelop("GetFolderList() - " + strDir); // 프로젝트 폴더명 로드 foreach (DirectoryInfo dirInfo in info) { // gUtil.LogDevelop("GetFolderList() - FindFolder - " + dirInfo.Name); if (exclusiveName != null && dirInfo.Name.Contains(exclusiveName) == true) { continue; } if (inclusiveName != null && dirInfo.Name.Contains(inclusiveName) == false) { continue; } strList.Add(dirInfo.Name); nCount++; } string[] folderStrings = new string[Mathf.Max(nMinArrayCount, strList.Count)]; folderStrings = strList.ToArray(); if (strList.Count < nMinArrayCount) { folderStrings = NgConvert.ResizeArray <string>(folderStrings, nMinArrayCount); } nFindFolder = nCount; return(folderStrings); #endif }
void LoadScriptList() { int nScriptCount; int nFindFolderCount; int nCount = 0; string scriptDir = FXMakerMain.inst.GetResourceDir(FXMakerMain.TOOLDIR_TYPE.SCRIPTS); // load folder string[] groupStrings = NgAsset.GetFolderList(scriptDir, null, "Hide", 0, out nFindFolderCount); m_GroupContents = NgConvert.StringsToContents(groupStrings); if (m_nGroupIndex < 0 || m_GroupContents.Length <= m_nGroupIndex) { m_nGroupIndex = 0; } if (m_GroupContents.Length == 0) { m_nGroupIndex = -1; } // load file if (m_GroupContents[m_nGroupIndex].text == "Unity") { List <string> addList = new List <string>(); // add UnityComponent addList.Add("MeshFilter"); addList.Add("MeshRenderer"); addList.Add(""); addList.Add("ParticleSystem"); addList.Add("ParticleSystemRenderer"); addList.Add("TrailRenderer"); addList.Add("LineRenderer"); addList.Add(""); addList.Add("EllipsoidParticleEmitter"); addList.Add("MeshParticleEmitter"); addList.Add("ParticleAnimator"); addList.Add("ParticleRenderer"); addList.Add(""); addList.Add("Rigidbody"); addList.Add("BoxCollider"); addList.Add("SphereCollider"); addList.Add("CapsuleCollider"); addList.Add("MeshCollider"); addList.Add("WorldParticleCollider"); addList.Add(""); addList.Add("Animation"); addList.Add("AudioSource"); m_ScriptScrings = new string[addList.Count]; m_ScriptContents = new GUIContent[addList.Count]; for (int n = 0; n < addList.Count; n++) { m_ScriptContents[n] = GetHelpContentScript(addList[n]); m_ScriptScrings[n] = addList[n]; } } else { string dir = (m_nGroupIndex < 0 ? scriptDir : NgFile.CombinePath(scriptDir, m_GroupContents[m_nGroupIndex].text + "/")); string[] scriptScrings = NgAsset.GetFileList(dir, 0, out nScriptCount); m_ScriptScrings = new string[scriptScrings.Length]; m_ScriptContents = new GUIContent[scriptScrings.Length]; for (int n = 0; n < scriptScrings.Length; n++) { // if (scriptScrings[n].Contains("Behaviour.")) // continue; string ext = Path.GetExtension(scriptScrings[n]); ext = ext.ToLower(); if (ext == ".cs" || ext == ".js") { m_ScriptContents[nCount] = GetHelpContentScript(NgFile.TrimFileExt(scriptScrings[n])); m_ScriptScrings[nCount] = NgFile.TrimFileExt(scriptScrings[n]); nCount++; } } m_ScriptScrings = NgConvert.ResizeArray(m_ScriptScrings, nCount); m_ScriptContents = NgConvert.ResizeArray(m_ScriptContents, nCount); } }
public static void AddSharedMaterial(Renderer tarRenderer) { Material[] currentMats = tarRenderer.sharedMaterials; currentMats = NgConvert.ResizeArray <Material>(currentMats, currentMats.Length + 1); tarRenderer.sharedMaterials = currentMats; }
public override void OnInspectorGUI() { AddScriptNameField(m_Sel); m_UndoManager.CheckUndo(); m_FxmPopupManager = GetFxmPopupManager(); // -------------------------------------------------------------- bool bClickButton = false; EditorGUI.BeginChangeCheck(); { // DrawDefaultInspector(); m_Sel.m_fUserTag = EditorGUILayout.FloatField(GetCommonContent("m_fUserTag"), m_Sel.m_fUserTag); m_Sel.m_fDelayTime = EditorGUILayout.FloatField(GetHelpContent("m_fDelayTime"), m_Sel.m_fDelayTime); m_Sel.m_fEmitTime = EditorGUILayout.FloatField(GetHelpContent("m_fEmitTime"), m_Sel.m_fEmitTime); m_Sel.m_bSmoothHide = EditorGUILayout.Toggle(GetHelpContent("m_bSmoothHide"), m_Sel.m_bSmoothHide); m_Sel.m_fLifeTime = EditorGUILayout.FloatField(GetHelpContent("m_fLifeTime"), m_Sel.m_fLifeTime); m_Sel.m_TipAxis = (NcTrailTexture.AXIS_TYPE)EditorGUILayout.EnumPopup(GetHelpContent("m_TipAxis"), m_Sel.m_TipAxis, GUILayout.MaxWidth(Screen.width)); m_Sel.m_fTipSize = EditorGUILayout.FloatField(GetHelpContent("m_fTipSize"), m_Sel.m_fTipSize); m_Sel.m_bCenterAlign = EditorGUILayout.Toggle(GetHelpContent("m_bCenterAlign"), m_Sel.m_bCenterAlign); m_Sel.m_UvFlipHorizontal = EditorGUILayout.Toggle(GetHelpContent("m_UvFlipHorizontal"), m_Sel.m_UvFlipHorizontal); m_Sel.m_UvFlipVirtical = EditorGUILayout.Toggle(GetHelpContent("m_UvFlipVirtical"), m_Sel.m_UvFlipVirtical); m_Sel.m_nFadeHeadCount = EditorGUILayout.IntField(GetHelpContent("m_nFadeHeadCount"), m_Sel.m_nFadeHeadCount); m_Sel.m_nFadeTailCount = EditorGUILayout.IntField(GetHelpContent("m_nFadeTailCount"), m_Sel.m_nFadeTailCount); int nColorCount = EditorGUILayout.IntField(GetHelpContent("ColorCount"), m_Sel.m_Colors.Length); if (nColorCount != m_Sel.m_Colors.Length) { m_Sel.m_Colors = NgConvert.ResizeArray <Color>(m_Sel.m_Colors, nColorCount, Color.white); } for (int n = 0; n < m_Sel.m_Colors.Length; n++) { m_Sel.m_Colors[n] = EditorGUILayout.ColorField(GetHelpContent(" Color " + n), m_Sel.m_Colors[n]); } int nSizeCount = EditorGUILayout.IntField(GetHelpContent("SizeRateCount"), m_Sel.m_SizeRates.Length); if (nSizeCount != m_Sel.m_SizeRates.Length) { m_Sel.m_SizeRates = NgConvert.ResizeArray <float>(m_Sel.m_SizeRates, nSizeCount, 1); } for (int n = 0; n < m_Sel.m_SizeRates.Length; n++) { m_Sel.m_SizeRates[n] = EditorGUILayout.FloatField(GetHelpContent(" SizeRate " + n), m_Sel.m_SizeRates[n]); SetMinValue(ref m_Sel.m_SizeRates[n], 0); } m_Sel.m_bInterpolation = EditorGUILayout.Toggle(GetHelpContent("m_bInterpolation"), m_Sel.m_bInterpolation); if (m_Sel.m_bInterpolation) { m_Sel.m_nMaxSmoothCount = EditorGUILayout.IntField(GetHelpContent(" nMaxSmoothCount"), m_Sel.m_nMaxSmoothCount); m_Sel.m_nSubdivisions = EditorGUILayout.IntField(GetHelpContent(" nSubdivisions"), m_Sel.m_nSubdivisions); } m_Sel.m_fMinVertexDistance = EditorGUILayout.FloatField(GetHelpContent("m_fMinVertexDistance"), m_Sel.m_fMinVertexDistance); m_Sel.m_fMaxVertexDistance = EditorGUILayout.FloatField(GetHelpContent("m_fMaxVertexDistance"), m_Sel.m_fMaxVertexDistance); m_Sel.m_fMaxAngle = EditorGUILayout.FloatField(GetHelpContent("m_fMaxAngle"), m_Sel.m_fMaxAngle); m_Sel.m_bAutoDestruct = EditorGUILayout.Toggle(GetHelpContent("m_bAutoDestruct"), m_Sel.m_bAutoDestruct); SetMinValue(ref m_Sel.m_fDelayTime, 0); SetMinValue(ref m_Sel.m_fEmitTime, 0); SetMinValue(ref m_Sel.m_fLifeTime, 0.01f); SetMinValue(ref m_Sel.m_fTipSize, 0.01f); SetMinValue(ref m_Sel.m_fMinVertexDistance, 0.01f); SetMinValue(ref m_Sel.m_fMaxVertexDistance, 0.02f); SetMinValue(ref m_Sel.m_fMaxAngle, 0); SetMinValue(ref m_Sel.m_nMaxSmoothCount, 3); SetMinValue(ref m_Sel.m_nSubdivisions, 2); } m_UndoManager.CheckDirty(); // -------------------------------------------------------------- if ((EditorGUI.EndChangeCheck() || bClickButton) && GetFXMakerMain()) { OnEditComponent(); } // --------------------------------------------------------------------- if (GUI.tooltip != "") { m_LastTooltip = GUI.tooltip; } HelpBox(m_LastTooltip); }