/// <summary> /// 设置红点节点的回调 /// </summary> /// <param name="strNode"></param> /// <param name="callback"></param> public void SetRedPointNodeCallback(string strNode, OnPointNumChange callback) { var nodeList = strNode.Split('.'); if (nodeList.Length == 1) { if (nodeList[0] != RedPointConsts.main) { Debug.LogError("Get Wrong Root Node! Current Is: " + nodeList[0]); return; } } var node = m_rootNode; for (int i = 1; i < nodeList.Length; i++) { if (!node.childrenDic.ContainsKey(nodeList[i])) { Debug.LogError("Does Not Contains Child Node: " + nodeList[i]); return; } node = node.childrenDic[nodeList[i]]; if (i == nodeList.Length - 1) { node.numChangeFunc = callback; return; } } }
/// <summary> /// 树结构设置事件回调 /// </summary> /// <param name="_nodeName"></param> /// <param name="_callback"></param> public void SetRedPointCallBack(string _nodeName, OnPointNumChange _callback) { RedPointNode _root = mRoot; string[] _nodeNameArr = _nodeName.Split('.'); if (_nodeNameArr.Length == 1) { if (_nodeNameArr[0] != RedPointConst.MAIN) { Debug.LogError("Node Error:" + _nodeNameArr[0]); return; } } for (int i = 0; i < _nodeNameArr.Length; i++) { if (!_root.nodeChilds.ContainsKey(_nodeNameArr[i])) { Debug.LogError("This Node not Contains Child " + _nodeNameArr[i]); return; } _root = _root.nodeChilds[_nodeNameArr[i]]; if (i == _nodeNameArr.Length - 1) { _root.PointNumChange = _callback; return; } } }
/// <summary> /// 绑定事件回调 /// </summary> /// <param name="strNode"></param> /// <param name="callBack"></param> public void SetRedPointNodeCallBack(string strNode, OnPointNumChange callBack) { var node = FindNode(strNode); if (node != null) { node.OnPointNumChange = callBack; } }