| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 | using FairyGUI;using System.Collections.Generic;using UI.Common;using UnityEngine;namespace GFGGame{    public class ViewGlobal    {        private static UI_ComHolder comHolder;        private static EffectUI _effectUI1;        public static void CreatClickEffect()        {            if (comHolder == null)            {                comHolder = UI_ComHolder.Create();                comHolder.target.touchable = false;                ViewManager.AddChildToFloatLayer(comHolder.target);                comHolder.target.SetPosition(-100, -100, 0);                _effectUI1 = EffectUIPool.CreateEffectUI(comHolder.m_holder, "ui_dj", "DJ");                GRoot.inst.onTouchBegin.Add(SetClickPos);            }        }        private static void SetClickPos()        {            Vector2 pos = GRoot.inst.GlobalToLocal(Stage.inst.touchPosition);            comHolder.m_holder.visible = false;            comHolder.m_holder.visible = true;            comHolder.target.SetPosition(pos.x, pos.y, 0);        }        /// <summary>        /// 获取顶部摄像头的高度,减去一定的位移是因为设计图本身为顶部留出了一定的间隙        /// </summary>        /// <returns></returns>        static float GetTopOffset()        {            // 标准分辨率下 设计图顶部留了80像素的偏移            int designOffset = ((Screen.safeArea.height + Screen.safeArea.y)                 == Screen.height ? 0 : (int)Mathf.Round(80 * UIContentScaler.scaleFactor));                        // 设置最低偏移是设计图顶部的偏移量            return Mathf.Max(0, Screen.height - Screen.safeArea.height - Screen.safeArea.y - designOffset);        }        /// <summary>        /// 获取画布根据分辨率适配后的,顶部的实际高度        /// </summary>        /// <returns></returns>        public static float GetRealTopOffset()        {            return Screen.height / UIContentScaler.scaleFactor - GetUIHeight();        }        /// <summary>        /// 获取画布根据分辨率适配后的UI高度        /// </summary>        /// <returns></returns>        public static float GetUIHeight()        {            return (Screen.height - GetTopOffset()) / UIContentScaler.scaleFactor;        }        public static List<Transform> FindAllGLoaderInTrans(Transform parent)        {            List<Transform> foundChildren = new List<Transform>();            // 遍历当前父节点的所有子节点            foreach (Transform child in parent)            {                // 检查子节点的名称是否匹配                if (child.name == "GLoader" || child.name == "Shape")                {                    // 将匹配的子节点添加到列表中                    foundChildren.Add(child);                }                // 递归调用,查找孙子节点                foundChildren.AddRange(FindAllGLoaderInTrans(child));            }            return foundChildren;        }        private static List<string> fullScreenPicNames = new List<string>() { "loaBg", "mask" };        private static List<string> notMoveUI = new List<string>() { "Top_img" };        public static bool IsFullScreenPic(string name)        {            foreach (string s in fullScreenPicNames)            {                if (name == s)                    return true;            }            return false;        }        public static bool IsNotMoveUI(string name)        {            foreach (string s in notMoveUI)            {                if (s.Contains(name))                    return true;            }            return false;        }    }}
 |