Example #1
0
    /// <summary>
    /// 创建Json
    /// </summary>
    private void LoadConfigs()
    {
        for (int i = 0; i < pConfigPaths.Count; ++i)
        {
            string strPath = pConfigPaths[i];
            AnalysisConfig(strPath);
        }

        //
        JsonData CmpJD = new JsonData();

        for (int j = 0; j < m_pOldNormCmp.Count; ++j)
        {
            OldNormCmpData oncd = m_pOldNormCmp[j];
            JsonData       jd   = new JsonData();
            jd["CompType"] = "normal";
            jd["CompCode"] = oncd.t;
            jd["p"]        = oncd.p;
            jd["e"]        = oncd.e;
            jd["s"]        = oncd.s;
            CmpJD.Add(jd);
        }

        for (int k = 0; k < m_pOldWallCmp.Count; ++k)
        {
            OldWallCmpData oncd = m_pOldWallCmp[k];
            JsonData       jd   = new JsonData();
            jd["CompType"]      = "wall";
            jd["wallType"]      = oncd.wallType;
            jd["wallLength"]    = oncd.wallLength;
            jd["firstPoint"]    = oncd.firstPoint;
            jd["pointList"]     = oncd.pointList;
            jd["needScaleTail"] = "true";
            CmpJD.Add(jd);
        }

        for (int i = 0; i < m_pOldGreenMeshCmp.Count; ++i)
        {
            OldWallCmpData oncd = m_pOldGreenMeshCmp[i];
            JsonData       jd   = new JsonData();
            jd["CompType"]   = "greenMesh";
            jd["wallType"]   = "null";
            jd["wallLength"] = oncd.wallLength;
            jd["firstPoint"] = oncd.firstPoint;
            jd["pointList"]  = oncd.pointList;
            string strIndex = oncd.wallType.Substring(10, 3);
            jd["greenMeshMat"] = null;
            CmpJD.Add(jd);
        }

        JsonData blockJD = new JsonData();

        blockJD["compList"] = CmpJD;

        //Json 数据保存到本地:JsonData转string:ToJson
        Helper.SaveInfo(blockJD.ToJson(), "解析出来的临时数据", Application.streamingAssetsPath);
    }
Example #2
0
    /// <summary>
    /// 解析Json
    /// </summary>
    /// <param name="_strPath"></param>
    private void AnalysisConfig(string _strPath)
    {
        Debug.LogWarning("加载Json:" + _strPath);
        JsonData ConfigJD = JsonUtils.ReadJsonFile(_strPath);

        if (ConfigJD != null)
        {
            JsonData wallJD   = ConfigJD.ReadJsonData("wall");
            JsonData normalJD = ConfigJD.ReadJsonData("component");

            if (normalJD != null)
            {
                for (int i = 0; i < normalJD.Count; ++i)
                {
                    JsonData       curJd = normalJD[i];
                    OldNormCmpData oncd  = new OldNormCmpData();
                    oncd.p = curJd.ReadString("p");
                    oncd.e = curJd.ReadString("e");
                    oncd.s = curJd.ReadString("s");
                    oncd.t = curJd.ReadString("t");
                    m_pOldNormCmp.Add(oncd);
                }
            }

            if (wallJD != null)
            {
                for (int j = 0; j < wallJD.Count; ++j)
                {
                    JsonData       curJd = wallJD[j];
                    OldWallCmpData owcd  = new OldWallCmpData();
                    owcd.wallLength = curJd.ReadString("wallLength");
                    string strType = curJd.ReadString("wallType");
                    owcd.wallType   = curJd.ReadString("wallType");
                    owcd.firstPoint = curJd.ReadString("firstPoint");
                    owcd.pointList  = curJd.ReadJsonData("pointList");
                    if (owcd.pointList != null && owcd.pointList.Count > 1)
                    {
                        if (strType.StartsWith("GreenMesh"))
                        {
                            m_pOldGreenMeshCmp.Add(owcd);
                        }
                        else
                        {
                            m_pOldWallCmp.Add(owcd);
                        }
                    }
                }
            }
        }
    }