Exemplo n.º 1
0
    protected override void onBaseResLoadCompleteSyncCall()
    {
        //异步加载所有图集资源
        if (bundle != null)
        {
            asset = bundle.LoadAsset <GameObject>(winName);
            if (asset == null)
            {
                bundle.Unload(true);
                //  comTask.Clear();
                return;
            }
#if UNITY_EDITOR
            EditorHelper.SetEditorShader(asset);
#endif
            var refholder = asset.AddComponent <InastanceAssetRefHolder>();
            refholder.resType   = ResourceType.UIPage;
            refholder.assetName = winName;
            //加载窗口image贴图
            guiHodler = asset.GetComponent <GuiHolder>();
            if (guiHodler != null)
            {
                guiHodler.LoadUIAtlas();
            }
            else
            {
                Debug.LogWarning(">>>>窗口资源没有找到GuiHolder脚本!!!" + winName);
            }
        }
    }
Exemplo n.º 2
0
    /// <summary>
    /// 卸载资源
    /// </summary>
    public override void Unload()
    {
        if (state != ResLoadingState.LOADSTATE_LOADED)
        {
            return;
        }
        if (guiHodler != null)
        {
            guiHodler.RemoveUIAtlassRef();
        }
        if (asset != null)
        {
            GameObject.DestroyImmediate(asset, true);
        }

        if (bundle != null)
        {
            bundle.Unload(true);
        }
        guiHodler = null;
        asset     = null;
        bundle    = null;

        base.Unload();
    }
Exemplo n.º 3
0
        public GuiHolder AddGui()
        {
            GuiHolder guiHolder = null;

            void Add(object sender, FrameEventArgs e)
            {
                guiHolder = new GuiHolder();
                GuiObjects.Add(guiHolder);
                RenderFrame -= Add;
            }

            RenderFrame += Add;
            while (guiHolder == null)
            {
            }
            return(guiHolder);
        }