Ejemplo n.º 1
0
        /// <summary>
        /// 初始化
        /// </summary>
        /// <param name="datas">一般应由红点编辑生成的json文件获得,也可以自定义</param>
        public void Init(ReddotData[] datas)
        {
            m_ReddotNodeDic = new Dictionary <string, ReddotNode>();
            foreach (var data in datas)
            {
                if (!m_ReddotNodeDic.TryGetValue(data.key, out ReddotNode node))
                {
                    node = new ReddotNode(data.key);
                    m_ReddotNodeDic.Add(data.key, node);
                }

                if (data.children != null)
                {
                    foreach (var child in data.children)
                    {
                        if (!m_ReddotNodeDic.TryGetValue(child, out ReddotNode childNode))
                        {
                            childNode = new ReddotNode(child);
                            m_ReddotNodeDic.Add(child, childNode);
                        }
                        node.AddChild(childNode);
                    }
                }
            }
        }
Ejemplo n.º 2
0
            public void AddChild(ReddotNode node)
            {
                if (m_children is null)
                {
                    m_children = new List <ReddotNode>();
                }
                m_children.Add(node);

                if (node.m_parents is null)
                {
                    node.m_parents = new List <ReddotNode>();
                }
                node.m_parents.Add(this);
            }