Beispiel #1
0
    public Material getMaterial(GAFAnimationAsset _Asset, uint _ObjectID, string _TextureName)
    {
        if (!System.Object.Equals(_Asset, null))
        {
            if (_Asset.maskedObjects.Contains((int)_ObjectID))
            {
                Material material = new Material(Shader.Find(m_sMaskedObjectShaderPath));
                material.color       = new Color(1f, 1f, 1f, 1f);
                material.mainTexture = getTexture(_TextureName);
                return(material);
            }
            else if (_Asset.coloredObjects.Contains((int)_ObjectID))
            {
                Material material = new Material(Shader.Find(m_sColorizedObjectShaderPath));
                material.color       = new Color(1f, 1f, 1f, 1f);
                material.mainTexture = getTexture(_TextureName);
                return(material);
            }
            else if (_Asset.batchableObjects.Contains((int)_ObjectID))
            {
#if UNITY_EDITOR
                if (!GAFAssetUtils.checkAssets(ref m_SharedMaterials) ||
                    m_SharedMaterials.Find(material => material.name == _TextureName) == null)
                {
                    createSharedData();
                    AssetDatabase.SaveAssets();
                }
#endif // UNITY_EDITOR

                return(m_SharedMaterials.Find(material => material.name == _TextureName));
            }
        }

        return(null);
    }
Beispiel #2
0
    public Texture2D getTexture(string _Name)
    {
#if UNITY_EDITOR
        GAFAssetUtils.checkAssets(ref m_Textures);
#endif // UNITY_EDITOR

        return(m_Textures.Find(texture => texture.name == _Name));
    }
Beispiel #3
0
    private bool containsTexture(Texture2D _Texture)
    {
        GAFAssetUtils.checkAssets(ref m_Textures);

        return(m_Textures.Contains(_Texture) || m_Textures.Find(texture => texture.name == _Texture.name) != null);
    }