示例#1
0
        /// <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;
            }
        }
    }
示例#3
0
    /// <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;
        }
    }