Example #1
0
 public void ReFlushComponent(CommonResourceRenderer renderer, Resource.ResourceGroup rg, Transform trans)
 {
     for (int i = 0; i < trans.childCount; i++)
     {
         var target = trans.GetChild(i).GetComponent <ResourceRenderTarget>();
         if (target != null)
         {
             if (target.renderer == renderer && target.resourceGroup == rg)
             {
                 Destroy(trans.GetChild(i).gameObject);
             }
         }
     }
 }
    CommonResourceRenderer AddRender(string suffix, IResource resource)
    {
        CommonResourceRenderer render = null;

        foreach (var val in RenderPathMapping.Keys)
        {
            if (val.Replace(suffix, "") == resource.GUID)
            {
                render = RenderPathMapping[val];
                RenderPathMapping.Remove(val);
                if (resource.GetType() == ResourceType.Image)
                {
                    var rend = (ImageRenderer)render;
                    ImageRenderer.ImageRenderGenerate.ModifyContent(ref rend, resource);
                    render = rend;
                }
                else if (resource.GetType() == ResourceType.Text)
                {
                    var rend = (TextRenderer)render;
                    TextRenderer.TextRenderGenerate.ModifyContent(ref rend, resource);
                    render = rend;
                }
                break;
            }
        }

        if (render == null)
        {
            if (resource.GetType() == ResourceType.Image)
            {
                render = ImageRenderer.ImageRenderGenerate.Generate(resource, transform);
            }
            else if (resource.GetType() == ResourceType.Text)
            {
                render = TextRenderer.TextRenderGenerate.Generate(resource, transform);
            }
        }

        render.GUID = resource.GUID;

        RenderPathMapping[resource.GUID + suffix] = render;
        render.Attrs = resource.Attrs;
        return(render);
    }