Exemplo n.º 1
0
        /// <summary>
        /// 绑定按钮事件
        /// </summary>
        /// <param name="buttonName"></param>
        /// <param name="dele"></param>
        protected void RegisterButtonEvent(string buttonName, EventTriggerListener.VoidDelegate dele)
        {
            GameObject go = UnityHelper.FindChildNode(this.gameObject, buttonName).gameObject;

            if (go != null)
            {
                EventTriggerListener.Get(go).onClick = dele;
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 注册按钮事件
        /// (将方法的委托作为参数传给方法)
        /// </summary>
        /// <param name="buttonName">按钮节点的名称</param>
        /// <param name="delVoidDelegate">委托:需要注册的方法</param>
        protected void RigisterButtonObjectEvent(string buttonName, EventTriggerListener.VoidDelegate delVoidDelegate)
        {
            GameObject goButton = UnityHelper.FindChildNode(gameObject, buttonName).gameObject;

            //给按钮结点注册方法
            if (goButton != null)
            {
                EventTriggerListener.GetListener(goButton).onClick += delVoidDelegate;
            }
        }
Exemplo n.º 3
0
 private void Awake()
 {
     //得到UI根节点和UI脚本节点对象
     _GoCanvasRoot     = GameObject.FindGameObjectWithTag(SysDefine.TAG_Canvas);
     _TraUIScriptsNode = UnityHelper.FindChildNode(_GoCanvasRoot, SysDefine.NODE_UIScripts);
     //把本脚本实例,作为“脚本节点对象”的子节点。
     UnityHelper.AddParentToChildNode(_TraUIScriptsNode, gameObject.transform);
     //得到顶层面板和遮罩面板
     _GoTopPanel    = _GoCanvasRoot;
     _GoUIMaskPanel = UnityHelper.FindChildNode(_GoCanvasRoot, SysDefine.GO_UIMaskPanel).gameObject;
     //得到UI摄像机以及原始层深
     _UICamera = GameObject.FindGameObjectWithTag(SysDefine.TAG_UICamera).GetComponent <Camera>();
     if (_UICamera != null)
     {
         _OriginalUICameraDepth = _UICamera.depth;
     }
     else
     {
         Debug.LogWarning("UI摄像机为空!");
     }
 }
Exemplo n.º 4
0
        /// <summary>
        /// 初始化核心数据
        /// 加载“UI窗体”路径到集合中
        /// 执行优先级比较高,可以提前加载
        /// </summary>
        public void Awake()
        {
            //字段初始化
            _DicAllUIForms     = new Dictionary <string, BaseUIForm>();
            _DicCurrentUIForms = new Dictionary <string, BaseUIForm>();
            _DicFormsPaths     = new Dictionary <string, string>();

            _StaCurrentUIForms = new Stack <BaseUIForm>();

            //初始化加载(根UI窗体)Canvas预设
            InitRootCanvasLoading();

            //得到UI的根节点、全屏结点、固定结点、弹出结点

            //UI根节点
            _TraCanvasTransform = GameObject.FindGameObjectWithTag(SysDefine.TAG_Canvas).transform;

            _TraNormal    = UnityHelper.FindChildNode(_TraCanvasTransform.gameObject, SysDefine.NODE_Normal);
            _TraFixed     = UnityHelper.FindChildNode(_TraCanvasTransform.gameObject, SysDefine.NODE_Fixed);
            _TraPopUp     = UnityHelper.FindChildNode(_TraCanvasTransform.gameObject, SysDefine.NODE_PopUp);
            _TraUIScripts = UnityHelper.FindChildNode(_TraCanvasTransform.gameObject, SysDefine.NODE_UIScripts);

            //把本脚本作为脚本管理器游戏对象的子结点(动态创建GO?)(非世界坐标系)
            this.gameObject.transform.SetParent(_TraUIScripts, false);

            //“根UI窗体”在场景转换的时候,不允许销毁(所有的子结点都不会被销毁)
            DontDestroyOnLoad(_TraCanvasTransform);

            //初始化“UI窗体的预设”路径数据
            //先写简单的,后面使用Json做配置文件来完善
            InitUIFormsPathData();

            //if (_DicFormsPaths != null) {
            //	_DicFormsPaths.Add("LoginUIForm",@"Prefabs/UI/LoginUIForm");
            //	_DicFormsPaths.Add("SelectHeroUIForm",@"Prefabs/UI/SelectHeroUIForm");
            //	_DicFormsPaths.Add("MajorCityUIForm", @"Prefabs/UI/MajorCityUIForm");
            //	_DicFormsPaths.Add("MarketUIForm", @"Prefabs/UI/MarketUIForm");
            //	_DicFormsPaths.Add("HeroInfoUIForm",@"Prefabs/UI/HeroInfoUIForm");
            //}
        }