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); } } }
/// <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(); }
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); }