Ejemplo n.º 1
0
    /// <summary>
    /// 读取数据库内容
    /// </summary>
    /// <returns></returns>
    private List <BllTreeNodeInfo> GetBllTreeNodes()
    {
        string strErr = "";
        string strSql = "SELECT treeid,parentid,vc_Name,vc_Code,i_BindType,BindID,i_Sort " +
                        "from m_blltree where unitid='" + m_UINTID + "'";
        DataTable dtBllTree             = MysqlDB.Instance.GetDataTable(out strErr, strSql);
        List <BllTreeNodeInfo> lstNodes = new List <BllTreeNodeInfo>();

        if (dtBllTree != null && dtBllTree.Rows.Count > 0)
        {
            for (int i = 0; i < dtBllTree.Rows.Count; i++)
            {
                BllTreeNodeInfo node = new BllTreeNodeInfo()
                {
                    BindID       = dtBllTree.Rows[i]["BindID"].ToString() + "",
                    NodeName     = dtBllTree.Rows[i]["vc_Name"].ToString() + "",
                    TreeID       = dtBllTree.Rows[i]["TreeID"].ToString() + "",
                    TreeParentID = dtBllTree.Rows[i]["parentid"].ToString() + "",
                    //	Sort = int.Parse(dtBllTree.Rows[i]["i_Sort"].ToString()),
                };
                lstNodes.Add(node);
            }
        }
        return(lstNodes);
    }
Ejemplo n.º 2
0
    private List <BllTreeNodeInfo> TestDebug()
    {
        string path = Application.streamingAssetsPath + "/m_blltree.csv";

        //string path = @"C:\Users\Administrator\Desktop\beiyong\WebGL\StreamingAssets\m_blltree.csv";
        m_Text.text = path;

        DataTable dtBllTree             = OpenCSV(path);
        List <BllTreeNodeInfo> lstNodes = new List <BllTreeNodeInfo>();

        if (dtBllTree != null && dtBllTree.Rows.Count > 0)
        {
            for (int i = 0; i < dtBllTree.Rows.Count; i++)
            {
                BllTreeNodeInfo node = new BllTreeNodeInfo()
                {
                    NodeName     = dtBllTree.Rows[i][2].ToString(),
                    TreeID       = dtBllTree.Rows[i][0].ToString(),
                    TreeParentID = dtBllTree.Rows[i][1].ToString(),
                };
                lstNodes.Add(node);
            }
        }
        return(lstNodes);
    }
Ejemplo n.º 3
0
    /// <summary>
    /// 添加节点
    /// </summary>
    /// <param name="bllNodes"></param>
    /// <param name="devNodes"></param>
    /// <param name="child"></param>
    /// <param name="parent"></param>
    private void AddTreeNode(List <BllTreeNodeInfo> bllNodes,
                             List <DevNodeInfo> devNodes,
                             BllTreeNodeInfo child,
                             BllTreeNodeInfo parent)
    {
        parent.Children.Add(child);

        List <BllTreeNodeInfo> findNodes = bllNodes.FindAll((tn) =>
        {
            return(tn.TreeParentID.Equals(child.TreeID));
        });

        foreach (BllTreeNodeInfo tempNode in findNodes)
        {
            AddTreeNode(bllNodes, devNodes, tempNode, child);
        }

        //Add DevNodes
        if (findNodes == null || findNodes.Count <= 0)
        {
            //Bind Dev
            if (child.BindType == 2)
            {
                // Add DevNodes
                List <DevNodeInfo> tempDevNodes = devNodes.FindAll((dev) =>
                                                                   { return(dev.DevID.Equals(child.BindID)); });

                child.DevNodes.AddRange(tempDevNodes);
                //devNodes.RemoveAll()
            }
        }

        bllNodes.Remove(child);
    }
Ejemplo n.º 4
0
 /// <summary>
 /// 添加信息,递归调用暂未使用
 /// </summary>
 private void AddInfo(BllTreeNodeInfo info)
 {
     if (info.Children.Count > 0)
     {
         foreach (BllTreeNodeInfo item in info.Children)
         {
             m_TestList.Add(new UTreeData(item.TreeID, item.TreeParentID, item.NodeName, null));
             AddInfo(item);
         }
     }
     else
     {
         Debug.Log("进入测点层");
     }
 }
Ejemplo n.º 5
0
    void Start()
    {
        List <BllTreeNodeInfo> bllTreeNodes = TestDebug();
        BllTreeNodeInfo        topTreeNode  = new BllTreeNodeInfo();

        ///topNodes即为读取的树信息
        m_NeedInfo = bllTreeNodes.FindAll((tn) =>
        {
            return(tn.TreeParentID.Equals("0"));
        });
        foreach (BllTreeNodeInfo tempNode in m_NeedInfo)
        {
            AddTreeNode(bllTreeNodes, tempNode, topTreeNode);
        }
    }
Ejemplo n.º 6
0
    //给服务器发送消息  m_MqttClient.Publish(m_Topic, Encoding.UTF8.GetBytes(sendmsg), MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE, true);
    #endregion

    #region 数据库相关代码

    /// <summary>
    /// 读取数据库数据
    /// </summary>
    private void CreateTreeNodes()
    {
        BllTreeNodeInfo topTreeNode = new BllTreeNodeInfo();

        List <BllTreeNodeInfo> bllTreeNodes = GetBllTreeNodes();
        List <DevNodeInfo>     devNodes     = GetDevNodes();

        ///topNodes即为读取的树信息
        m_NeedInfo = bllTreeNodes.FindAll((tn) =>
        {
            return(tn.TreeParentID.Equals("0"));
        });
        foreach (BllTreeNodeInfo tempNode in m_NeedInfo)
        {
            AddTreeNode(bllTreeNodes, devNodes, tempNode, topTreeNode);
        }
    }
Ejemplo n.º 7
0
    private void AddTreeNode(List <BllTreeNodeInfo> bllNodes,
                             BllTreeNodeInfo child,
                             BllTreeNodeInfo parent)
    {
        parent.Children.Add(child);

        List <BllTreeNodeInfo> findNodes = bllNodes.FindAll((tn) =>
        {
            return(tn.TreeParentID.Equals(child.TreeID));
        });

        foreach (BllTreeNodeInfo tempNode in findNodes)
        {
            AddTreeNode(bllNodes, tempNode, child);
        }
        bllNodes.Remove(child);
    }
Ejemplo n.º 8
0
    private List <BllTreeNodeInfo> GetAllTreeInfo(JsonData ddd)
    {
        List <BllTreeNodeInfo> lstNodes = new List <BllTreeNodeInfo>();

        if (ddd != null && ddd.Count > 0)
        {
            for (int i = 0; i < ddd.Count; i++)
            {
                BllTreeNodeInfo node = new BllTreeNodeInfo()
                {
                    NodeName     = ddd[i]["name"].ToString(),
                    TreeID       = ddd[i]["id"].ToString(),
                    TreeParentID = ddd[i]["pid"].ToString(),
                };
                lstNodes.Add(node);
            }
        }
        return(lstNodes);
    }
Ejemplo n.º 9
0
    /// <summary>
    /// 将读取的UI树数据存储起来
    /// </summary>
    private List <BllTreeNodeInfo> GenerateHierarchy()
    {
        List <BllTreeNodeInfo> lstNodes = new List <BllTreeNodeInfo>();

        if (m_CurrentGenerateDatas != null && m_CurrentGenerateDatas.Count > 0)
        {
            for (int i = 0; i < m_CurrentGenerateDatas.Count; i++)
            {
                BllTreeNodeInfo blinfo = new BllTreeNodeInfo()
                {
                    NodeName     = m_CurrentGenerateDatas[i].CurName,
                    TreeID       = m_CurrentGenerateDatas[i].CurID,
                    TreeParentID = m_CurrentGenerateDatas[i].ParentID.ToString(),
                };

                lstNodes.Add(blinfo);
            }
        }
        return(lstNodes);
    }
Ejemplo n.º 10
0
    /// <summary>
    /// 点击获取某一物体的所有层级
    /// </summary>
    public string GenerateData()
    {
        //yield return new WaitForSeconds(1f);
        m_listinf = GenerateHierarchy();
        Debug.Log("Unity读取到树结构:" + m_listinf.Count);
        BllTreeNodeInfo topTreeNode = new BllTreeNodeInfo();

        ///topNodes即为读取的树信息
        m_NeedInfo = m_listinf.FindAll((tn) =>
        {
            return(tn.TreeParentID.Equals("0"));
        });
        foreach (BllTreeNodeInfo tempNode in m_NeedInfo)
        {
            AddTreeNode(m_listinf, tempNode, topTreeNode);
        }

        JsonData AllJSData  = JsonMapper.ToJson(topTreeNode);
        string   AllStrData = AllJSData.ToString();

        return(AllStrData);

        #region 测试本地存取
        //Debug.Log("所有的数据:" + AllStrData);

        //string path = Application.persistentDataPath;
        //if (Directory.Exists(path))
        //{
        //    Debug.Log("当前存储路径" + path);
        //}
        //FileStream file = new FileStream(path + "/Test.txt", FileMode.Create);
        //byte[] bts = System.Text.Encoding.UTF8.GetBytes(AllStrData);
        //file.Write(bts, 0, bts.Length);
        //Debug.Log("保存成功!");

        //if (file != null)
        //{
        //    file.Close();
        //}
        #endregion
    }