public void OnInputfieldAddItem(ChatBoxAddInputFieldItemData msgData) { ResNode itemPrefab = LogicDataCenter.chatMessageManager.GetChatItemPrefabByObjType(msgData.objInfo.type); if (itemPrefab == null) { return; } GameObject itemObj = itemPrefab.InstanceMainRes(); if (itemObj == null) { return; } IChatItem subItem = itemObj.GetComponent <IChatItem>(); subItem.SetResNode(itemPrefab); if (subItem == null) { itemPrefab.DestroyInstanceRes(ref itemObj); return; } if (subItem.SetItemData(msgData.objInfo) == false) { itemPrefab.DestroyInstanceRes(ref itemObj); return; } if (msgData.bClearInputField) { inputField.ClearContent(); } if (msgData.bActiveInputField) { inputField.ActivateInputField(); } inputField.selectionFocusPosition = inputField.caretPosition; inputField.InsertItem(itemObj, subItem, -1); // 自动发送 if (msgData.bAutoSend) { OnSendBtnClick(); } }
private bool OnLoadView(ResNode viewPrefab) { Initialize.PrintTickCheck("OnLoadView", _bStart: true); if (viewPrefab == null) { return(false); } ViewInstance = viewPrefab.InstanceMainRes(); Initialize.PrintTickCheck(GetID() + ",OnLoadView - InstanceMainRes"); if (!ViewInstance) { return(false); } ViewInstance.name = viewPrefab.AssetName; m_wndView = ViewInstance.GetComponent <IUIWndView>() as T; if (m_wndView == null) { Debug.LogError("UISystem OnLoadView m_wndView == null id=" + GetID()); viewPrefab.DestroyInstanceRes(ref ViewInstance); return(false); } if (m_wndView.Init(this) == false) { Debug.LogError("UISystem OnLoadView m_wndView.Init == false id=" + GetID()); viewPrefab.DestroyInstanceRes(ref ViewInstance); return(false); } Initialize.PrintTickCheck(GetID() + ",OnLoadView - View.Init"); UISystem.Instance.AddView(m_wndView, GetLayer()); Initialize.PrintTickCheck(GetID() + ",OnLoadView - AddView"); m_wndView.SetRendererVisible(m_isVisible); Initialize.PrintTickCheck(GetID() + ",OnLoadView - View.SetRendererVisible"); return(true); }
public void Clear(bool fullUnLoad) { foreach (SkinInstance g in AllSkin) { GameObject temp = g.SkinObj; ResSkinObj.DestroyInstanceRes(ref temp); g.Clear(); } foreach (BakeMeshNode bk in AllBakeMesh) { SkinInstance.ClearBakeMesh(bk); } currentCacheTime = 0.0f; AllBakeMesh.Clear(); AllSkin.Clear(); //m_SkinInstance.Clear(); //m_SkinDataObj.Clear(); //m_OverrideControllerTable.Clear(); Main_CacheList.Clear(); ReferenceCount = 0; if (fullUnLoad) { ClearSaveOrginalData(); SkinCheckObj = null; ResSkinObj = null; bChecked = false; CheckedReslut = false; isAsync = false; isValid = false; } }
private void CreateSubItem(SChatMessageObjectInfo info, float width, ref float curOffsetX, ref float curOffsetY, List <LineObjCache> curLineObject) { if (width < 0f || curLineObject == null) { return; } ResNode itemPrefab = LogicDataCenter.chatMessageManager.GetChatItemPrefabByObjType(info.type); if (itemPrefab == null) { return; } GameObject itemObj = itemPrefab.InstanceMainRes(); if (itemObj == null) { return; } IChatItem subItem = itemObj.GetComponent <IChatItem>(); if (subItem == null) { itemPrefab.DestroyInstanceRes(ref itemObj); return; } subItem.SetResNode(itemPrefab); currChatBoxItem.Add(subItem); itemObj.transform.SetParent(this.transform, false); if (subItem.SetItemData(info) == false) { return; } for (int i = 0; i < 100; ++i) { IChatItem nextItem; subItem.SplitByWidth(width, curOffsetX, out subItem, out nextItem); if (subItem != null) { curOffsetX += subItem.GetItemWidth(); AddLineObject(subItem, curLineObject); } if (nextItem == null) { break; } AlignLineObject(ref curOffsetX, ref curOffsetY, curLineObject); subItem = nextItem; currChatBoxItem.Add(subItem); } }
private void DeleteFloatingAssets() { if (!ResNode.isNullOrEmpty(WingAssets)) { WingAssets.DestroyInstanceRes(ref wingGO); AssetBundleManager.DeleteAssets(ref WingAssets, false); wingGO = null; wingAnimator = null; } }
// 载入窗口资源 public virtual bool LoadView() { if (m_wndView != null) { return(true); } ResNode viewPrefab = AssetBundleManager.GetAssets(AssetType.Asset_Prefab, "UI/Prefabs/" + GetPrefabPath()); if (null == viewPrefab) { return(false); } GameObject instance = viewPrefab.InstanceMainRes(); if (!instance) { return(false); } instance.name = viewPrefab.AssetName; m_wndView = instance.GetComponent <IUISubWndView>() as T; if (m_wndView == null) { Debug.LogError("UISystem SubWnd LoadView m_wndView == null GetPrefabPath=" + GetPrefabPath()); viewPrefab.DestroyInstanceRes(ref instance); return(false); } if (m_wndView.Init(this) == false) { Debug.LogError("UISystem SubWnd LoadView m_wndView.Init == false GetPrefabPath=" + GetPrefabPath()); viewPrefab.DestroyInstanceRes(ref instance); return(false); } m_wndView.GetTransform().SetParent(m_parentContainer, false); m_wndView.SetVisible(m_isVisible); return(true); }
private bool LoadView <T>(Transform _tContainer, bool _bVisible) where T : UWarGoodsStoreSubViewBase { ResNode viewPrefab = AssetBundleManager.GetAssets(AssetType.Asset_Prefab, "UI/Prefabs/" + GetSubPrefabPath <T>()); if (null == viewPrefab) { return(false); } GameObject instance = viewPrefab.InstanceMainRes(); if (!instance) { return(false); } instance.name = viewPrefab.AssetName; UWarGoodsStoreSubViewBase subView = instance.GetComponent <T>() as UWarGoodsStoreSubViewBase; if (subView == null) { Debug.LogError("UISystem SubWnd LoadView m_wndView == null GetPrefabPath=" + GetSubPrefabPath <T>()); viewPrefab.DestroyInstanceRes(ref instance); return(false); } if (subView.Init(this) == false) { Debug.LogError("UISystem SubWnd LoadView m_wndView.Init == false GetPrefabPath=" + GetSubPrefabPath <T>()); viewPrefab.DestroyInstanceRes(ref instance); return(false); } subView.GetTransform.SetParent(_tContainer, false); subView.SetVisible(_bVisible); m_dicSubView.Add(subView.GetSubViewType, subView); return(true); }
static public void DestroyRedPointTip(URedPointTip redPoint) { if (!redPoint) { return; } if (null == redPointRes) { return; } var temp = redPoint.gameObject; redPointRes.DestroyInstanceRes(ref temp); }
public static void DestroyRes <T>(ref T obj) where T : UnityEngine.Object { if (!obj) { return; } ResNode res = null; if (IntanceResNodeTable.TryGetValue(obj, out res)) { GameObject go = obj as GameObject; res.DestroyInstanceRes(ref go); obj = null; return; } UnityEngine.Object.Destroy(obj); obj = null; }
/// <summary> /// 给对象添加TooltipTrigger脚本 /// </summary> /// <param name="_tTrans">要添加Trigger的对象</param> /// <returns>TooltipTrigger脚本</returns> public static T AddComponent <T>(this GameObject _uGameObject, ETooltipStyle _eStyle) where T : UTooltipTrigger { T tmpTrigger = null; //将类型转为字符串并根据‘_’标识符切割 string StyleName = _eStyle.ToString().Split('_')[1]; string TriggerStylePath = UPath.UTooltipStyle + StyleName; if (_uGameObject.GetComponent <T>() == null) { tmpTrigger = _uGameObject.AddComponent <T>(); ResNode stylePerfabe = AssetBundleManager.GetAssets(AssetType.Asset_Prefab, TriggerStylePath); TooltipStyle InstanceTooltipStyle = stylePerfabe.InstanceMainRes <TooltipStyle>(); TooltipStyle tooltipStyle = null; if (!UTooltipManager.Instance.Tooltips.ContainsKey(InstanceTooltipStyle.TooltipID)) { tooltipStyle = InstanceTooltipStyle; tooltipStyle.name = tooltipStyle.name; tooltipStyle.transform.SetParent(UTooltipManager.Instance.TooltipContainer.transform, false); Tooltip newTooltip = new Tooltip() { GameObject = tooltipStyle.gameObject }; newTooltip.Initialize(); newTooltip.Deactivate(); UTooltipManager.Instance.Tooltips.Add(tooltipStyle.TooltipID, newTooltip); } else { tooltipStyle = UTooltipManager.Instance.Tooltips[InstanceTooltipStyle.TooltipID].TooltipStyle; var temp = InstanceTooltipStyle.gameObject; stylePerfabe.DestroyInstanceRes(ref temp); } tmpTrigger.tooltipStyle = tooltipStyle; } else { tmpTrigger = _uGameObject.GetComponent <T>(); } return(tmpTrigger); }
// Res public LegendCupPrizeItem CreateLegendCupPrizeItem(RectTransform container) { GameObject newItem = m_legendCupPrizeItemRes.InstanceMainRes(); LegendCupPrizeItem result = null; if (newItem) { result = newItem.GetComponent <LegendCupPrizeItem>(); if (result) { result.SetContainer(container); } else { m_legendCupPrizeItemRes.DestroyInstanceRes(ref newItem); } } return(result); }
public void Clear() { foreach (LightingEffectResHandleInstance instance in m_AllInstanceNode) { GameObject temp = instance.effectPrefab; if (!ResNode.isNullOrEmpty(prefabResNode)) { prefabResNode.DestroyInstanceRes(ref temp); } instance.Clear(); } m_CacheList.Clear(); m_AllInstanceNode.Clear(); effectConfig = null; prefabResNode = null; ReferenceCount = 0; isValid = false; stage = loadingStage.Stage_Invalid; currCacheTime = 0.0f; }
public PointShopSingleGoodsItem CreateShopSingleGoodsItem(Transform container) { GameObject newItem = singleShopGoodsItemRes.InstanceMainRes(); PointShopSingleGoodsItem result = null; if (newItem) { result = newItem.GetComponent <PointShopSingleGoodsItem>(); if (result) { result.Init(container as RectTransform); } else { singleShopGoodsItemRes.DestroyInstanceRes(ref newItem); } } return(result); }
public HeroStarItem CreateHeroStarItem(Transform container) { GameObject newItem = heroStarItemRes.InstanceMainRes(); HeroStarItem result = null; if (newItem) { result = newItem.GetComponent <HeroStarItem>(); if (result) { result.Init(container as RectTransform); } else { heroStarItemRes.DestroyInstanceRes(ref newItem); } } return(result); }
public PointShopSortItem CreateSingleSortBtnItem(Transform container, String strDesc, Comparison <SSchemePointShopGoodsConfig> comparison) { GameObject newItem = singleSortBtnItemRes.InstanceMainRes(); PointShopSortItem result = null; if (newItem) { result = newItem.GetComponent <PointShopSortItem>(); if (result) { result.Init(container as RectTransform, strDesc, comparison); } else { singleSortBtnItemRes.DestroyInstanceRes(ref newItem); } } return(result); }
public ShopMoneyItem CreateShopMoneyItem(Transform container) { GameObject newItem = shopMoneyItemRes.InstanceMainRes(); ShopMoneyItem result = null; if (newItem) { result = newItem.GetComponent <ShopMoneyItem>(); if (result) { result.Init(container as RectTransform); } else { shopMoneyItemRes.DestroyInstanceRes(ref newItem); } } return(result); }
public PrizeIconItem CreatePrizeIconItem(Transform iconContainer) { GameObject newItem = prizeIconItemRes.InstanceMainRes(); PrizeIconItem result = null; if (newItem) { result = newItem.GetComponent <PrizeIconItem>(); if (result) { result.SetContainer(iconContainer as RectTransform); } else { prizeIconItemRes.DestroyInstanceRes(ref newItem); } } return(result); }
private void ClearChannelMaskItem() { // 清除频道 int childCount = channelMaskButtonFrame.childCount; GameObject[] childArray = new GameObject[childCount]; for (int i = 0; i < childCount; ++i) { Transform child = channelMaskButtonFrame.GetChild(i); childArray[i] = child.gameObject; } foreach (var obj in childArray) { ChatChannelGroupItem item = obj.GetComponent <ChatChannelGroupItem>(); if (item != null) { item.Clear(); } var temp = obj; channelMaskItemPrefabRes.DestroyInstanceRes(ref temp); } }