TextureProcess.GetMaterial C# (CSharp) Method

GetMaterial() public method

public GetMaterial ( UUID texUUID ) : Material
texUUID UUID
return UnityEngine.Material
    public UnityEngine.Material GetMaterial(UUID texUUID)
    {
        if (materials.ContainsKey(texUUID))
            return materials[texUUID];

        Texture2D tex = GetTexture2D(texUUID);
        if (tex != null)
        {
            UnityEngine.Material mat = new UnityEngine.Material(m_defaultMat);
            mat.mainTexture = tex;
            materials[texUUID] = mat;
            textures.Remove(texUUID);
            return mat;
        }
        return null;
    }

Usage Example

    void UpdateAvTexture(uint avLocalID)
    {
        GameObject avatarGameObject;

        if (!avatars.TryGetValue(avLocalID, out avatarGameObject))
        {
            return;             //get AvatarAppearence before AvatarUpdate
        }
        bool del = true;

        Radegast.Rendering.RenderAvatar ra = renderAvatars[avLocalID];
        foreach (Radegast.Rendering.GLMesh mesh in ra.glavatar._meshes.Values)
        {
            if (mesh.Name == "skirtMesh")
            {
                continue;
            }
            UUID texID = ra.avatar.Textures.GetFace((uint)mesh.teFaceID).TextureID;

            UnityEngine.Material mat = m_textures.GetMaterial(texID);
            if (mat != null)
            {
                Transform child = avatarGameObject.transform.FindChild(mesh.Name);
                child.GetComponent <MeshRenderer>().material = mat;
            }
            else
            {
                del = false;
            }
        }
        if (del)
        {
            avHasTex.Remove(avLocalID);
        }
    }
All Usage Examples Of TextureProcess::GetMaterial