Пример #1
0
        public static FocusWindowItem getItem(GameObject go)
        {
            FocusWindowItem item = go.GetComponent <FocusWindowItem>();

            if (item == null)
            {
                item = go.AddComponent <FocusWindowItem>();
            }
            return(item);
        }
Пример #2
0
        /// <summary>
        /// 设置对象的激活状态
        /// </summary>
        /// <param name="go">要设置的对象</param>
        /// <param name="parentTrs">要挂载到的父节点</param>
        /// <param name="isFocusOn">是否为焦点</param>
        /// <param name="layerOrder">当前go对象在orderlist的索引</param>
        private void setFocusOnState(GameObject go, Transform parentTrs, bool isFocusOn, int layerOrder)
        {
            go.SetActive(false);
            go.transform.parent = parentTrs;
            go.SetActive(true);   //打开关闭的对象,让对象在新的panel下重新渲染/
            GameObject colliderGO = go.transform.Find("titleSprite/FocusCollider").gameObject;

            UIEventListener.Get(colliderGO).onClick      = overlayOnClick;
            colliderGO.GetComponent <Collider>().enabled = !isFocusOn;  //如果是焦点窗口,就关闭collider,不是就打开collider/
            if (isFocusOn)
            {
                FocusWindowItem.getItem(go).init(itemEnable, itemDisable, itemDestroy);
            }
            Vector3 pos = go.transform.localPosition;

            go.transform.localPosition = new Vector3(pos.x, pos.y, -500f * (layerOrder + 1));
        }
Пример #3
0
 /// <summary>
 /// FocusWindowItem对象被销毁时执行的方法
 /// </summary>
 private void itemDestroy()
 {
     toReorder = false;
     item      = null;
     StopCoroutine(waitBeforeReorder());
 }
Пример #4
0
        /// <summary>
        /// 进入不激活状态时执行
        /// </summary>
        //void OnDisable()
        //{
        //    Debug.Log("关闭所有协程");
        //    StopAllCoroutines();
        //}

        //void OnApplicationQuit()
        //{
        //    StopAllCoroutines();
        //}

        /// <summary>
        /// FocusWindowItem对象激活时的执行方法
        /// </summary>
        /// <param name="obj"></param>
        private void itemEnable(FocusWindowItem obj)
        {
            toReorder = false;
            item      = obj;
        }
Пример #5
0
 /// <summary>
 /// 窗口隐藏时执行的方法
 /// </summary>
 /// <param name="obj"></param>
 private void itemDisable(FocusWindowItem obj)
 {
     toReorder = true;
     StartCoroutine(waitBeforeReorder());
 }