void CreateNewShaderMaterials(Material currentMat) { if (m_NewShaderMaterials != null && FXMakerOption.inst.m_bUpdateNewMaterial == false) { return; } // Load m_DefaultShaderMaterialsDir int nMaterialCount; m_NewShaderMaterials = NgAsset.GetMaterialList(FXMakerMain.inst.GetResourceDir(FXMakerMain.TOOLDIR_TYPE.DEFAULTSHADERMATERIALS), true, 0, out nMaterialCount); m_NewShaderMaterialContents = null; // Change Texture if (m_NewShaderMaterials != null) { foreach (Material mat in m_NewShaderMaterials) { NgMaterial.CopyMaterialArgument(currentMat, mat); } FXMakerAsset.AssetDatabaseSaveAssets(); m_nTempSaveFrameIndex = FXMakerMain.inst.GetUnityFrameCount(); m_NewShaderMaterialContents = new GUIContent[m_NewShaderMaterials.Length]; // build content BuildNewShaderContents(); } }
// ------------------------------------------------------------------------------------------- void FindCurrentTextureMaterials(Material currentMat) { m_nCurrentTextureMaterialIndex = -1; m_CurrentTextureMaterials = null; m_CurrentTextureMaterialContents = null; if (currentMat.mainTexture == null) { return; } string texPath = AssetDatabase.GetAssetPath(currentMat.mainTexture); if (texPath == "") { return; } int nMaterialCount = 0; Material[] materialObjects = NgAsset.GetMaterialList(NgFile.TrimFilenameExt(texPath), true, FXMakerLayout.m_nMaxMaterialListCount, out nMaterialCount); ArrayList matList = new ArrayList(); // find foreach (Material mat in materialObjects) { // ������ ǥ�� if (mat.mainTexture == currentMat.mainTexture) { if (mat == currentMat) { // Debug.Log("if (mat == currentMat)----------------------"); m_nCurrentTextureMaterialIndex = matList.Count; } matList.Add(mat); } m_CurrentTextureMaterials = NgConvert.ToArray <Material>(matList); m_CurrentTextureMaterialContents = new GUIContent[m_CurrentTextureMaterials.Length]; // build content BuildCurrentTextureContents(); } }