コード例 #1
0
ファイル: Resources.cs プロジェクト: vladimir-tikhonov/UH5
        internal static Material GetMaterial(string guid)
        {
            if (materials.ContainsKey(guid))
            {
                return(materials[guid]);
            }
            Material mat  = new Material();
            var      info = rmManager.GetFromGuid(guid);

            if (info == null)
            {
                mat.guid = guid;
            }
            else
            {
                var jsontext = LoadInternalRaw(info.guid);
                mat.rawJson = jsontext;
                var json = LoadInternalFile(info.guid);
                UnityEngine.Config.Material rawMat = UnityEngine.Config.Material.FromJson(json[0] as Dictionary <string, System.Object>);
                mat.Init(rawMat);
                mat.shaderGuid = rawMat.m_Shader.guid;
            }
            materials[guid] = mat;
            return(mat);
        }
コード例 #2
0
 public void Init(UnityEngine.Config.Material mat)
 {
     shader = Resources.GetShader(mat.m_Shader);
     UnityEngine.Config.FileMap fms = mat.m_SavedProperties.m_TexEnvs[0].data.second.m_Texture;
     if (fms.IsEmpty())
     {
         mainTexture = null;
     }
     else
     {
         // Hack, need to read TextureImporter from fms.
         string guid = mat.m_SavedProperties.m_TexEnvs[0].data.second.m_Texture.guid;
         mainTexture         = Resources.GetTexture(guid);
         mainTextureOffset.x = mat.m_SavedProperties.m_TexEnvs[0].data.second.m_Offset.x;
         mainTextureOffset.y = mat.m_SavedProperties.m_TexEnvs[0].data.second.m_Offset.y;
         mainTextureScale.x  = mat.m_SavedProperties.m_TexEnvs[0].data.second.m_Scale.x;
         mainTextureScale.y  = mat.m_SavedProperties.m_TexEnvs[0].data.second.m_Scale.y;
     }
 }