/// <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; } }
/// <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; } }
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摄像机为空!"); } }
/// <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"); //} }