コード例 #1
0
    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();
        }
    }
コード例 #2
0
    // -------------------------------------------------------------------------------------------
    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();
        }
    }