예제 #1
0
 public static void CopyTexture(TexSetter s, TexLoader l)
 {
     if (l.Target.mainTexture != null && AssetBundlePath.inst.IsCdnAsset(l.Target.mainTexture))
     {
         AssetRef r = new AssetRef();
         r.cdn = true;
         r.SetPath(l.Target.mainTexture);
         s.textures.Add(r);
         EditorUtil.SetDirty(s);
     }
 }
        private void AddAssets(LexiconRegistry reg, TextAsset[] assets)
        {
            List <AssetRef> list = new List <AssetRef>();

            foreach (var a in assets)
            {
                if (a != reg.initial)
                {
                    var r = new AssetRef();
                    r.SetPath(a);
                    list.Add(r);
                }
            }
            reg.assets = list.ToArray();
            EditorUtil.SetDirty(reg);
        }
        protected override void VerifyComponent(Component comp)
        {
            UITexture tex = comp as UITexture;
            TexLoader l   = tex.GetComponent <TexLoader>();

            if (tex.mainTexture != null && AssetBundlePath.inst.IsCdnAsset(tex.mainTexture) &&
                (l == null || IsTextureMismatch(tex)))
            {
                TexSetter setter = tex.GetComponentEx <TexSetter>();
                var       aref   = new AssetRef();
                aref.cdn = true;
                aref.SetPath(tex.mainTexture);
                setter.textures.Clear();
                setter.textures.Add(aref);
                BuildScript.SetDirty(comp.gameObject);
                BuildScript.SetDirty(setter);
            }
        }
예제 #4
0
 private void DerefCdnTexture(Renderer r)
 {
     if (r.sharedMaterials.Length == 1 && r.sharedMaterials[0] != null)
     {
         var           tex    = r.sharedMaterial.mainTexture;
         MeshTexLoader loader = r.GetComponent <MeshTexLoader>();
         if (tex != null && AssetBundlePath.inst.IsCdnAsset(tex) &&
             (loader == null || IsTextureMismatch(r)))
         {
             loader      = r.FindComponent <MeshTexLoader>();
             loader.rend = r;
             MeshTexSetter setter = r.FindComponent <MeshTexSetter>();
             var           aref   = new AssetRef();
             aref.SetPath(tex);
             setter.textures.Clear();
             setter.textures.Add(aref);
             EditorUtil.SetDirty(r.gameObject);
             EditorUtil.SetDirty(loader);
             EditorUtil.SetDirty(setter);
         }
     }
 }