Esempio n. 1
0
        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();
            }
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
    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;
        }
    }
Esempio n. 4
0
        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);
            }
        }
Esempio n. 5
0
 private void DeleteFloatingAssets()
 {
     if (!ResNode.isNullOrEmpty(WingAssets))
     {
         WingAssets.DestroyInstanceRes(ref wingGO);
         AssetBundleManager.DeleteAssets(ref WingAssets, false);
         wingGO       = null;
         wingAnimator = null;
     }
 }
Esempio n. 6
0
        // 载入窗口资源
        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);
        }
Esempio n. 7
0
        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);
        }
Esempio n. 8
0
        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;
    }
Esempio n. 10
0
        /// <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);
        }
Esempio n. 11
0
        // 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);
        }
Esempio n. 12
0
 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;
 }
Esempio n. 13
0
        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);
        }
Esempio n. 14
0
        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);
        }
Esempio n. 15
0
        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);
        }
Esempio n. 16
0
        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);
        }
Esempio n. 17
0
        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);
        }
Esempio n. 18
0
        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);
            }
        }