コード例 #1
0
 private static void GetData(string path, SceneDataJson serverJson)
 {
     string[] dirs = Directory.GetDirectories(path);
     for (int i = 0; i < dirs.Length; i++)
     {
         GetData(dirs[i], serverJson);
     }
     string[] files = Directory.GetFiles(path);
     for (int i = 0; i < files.Length; i++)
     {
         if (!files[i].Contains(".json") || files[i].Contains("meta"))
         {
             continue;
         }
         FileInfo     fileinfo = new FileInfo(files[i]);
         StreamReader reader   = new StreamReader(files[i]);
         string       jsonStr  = reader.ReadToEnd();
         reader.Close();
         SceneItemJson groupData = fastJSON.JSON.ToObject <SceneItemJson>(jsonStr);
         string        fileName  = fileinfo.Name.Replace(".json", "");
         long          groupID   = -1;
         long.TryParse(fileName, out groupID);
         if (groupID > 0)
         {
             SceneItemServerJson itemServerJson = new SceneItemServerJson(groupData);
             itemServerJson.groupId = groupID;
             serverJson.sceneDatas.Add(itemServerJson);
         }
     }
 }
コード例 #2
0
    /// <summary>
    /// 保存位置数据
    /// </summary>
    void SaveJsonData()
    {
        if (!Directory.Exists(jsonPath))
        {
            Directory.CreateDirectory(jsonPath);
        }
        ///获取服务端数据
        //SceneItemServerJson serverJson = fastJSON.JSON.ToObject<SceneItemServerJson>();
        SceneDataJson serverJson = getServerData();

        if (serverJson == null)
        {
            serverJson            = new SceneDataJson(); //服务端数据
            serverJson.sceneDatas = new List <SceneItemServerJson>();
        }
        //SceneDataJson sceneDataJson = new SceneDataJson(); //服务端数据
        //sceneDataJson.sceneDatas = new List<SceneItemServerJson>();
        for (int i = 0; i < m_allItemInfo.Count; i++)
        {
            SceneItemInfo scenePageData = m_allItemInfo[i];//AssetDatabase.LoadAssetAtPath<SceneItemInfo>(m_allAssetPath[i]);
            if (scenePageData != null)
            {
                SceneItemJson itemJson = new SceneItemJson(scenePageData);
                //sceneDataJson.sceneDatas.Add(itemJson);
                string jsonStr = fastJSON.JSON.ToJSON(itemJson);
                SceneLightHelper.CreateJson(jsonPath + scenePageData.jsonName, jsonStr);

                int groupID = int.Parse(scenePageData.jsonName.Split('.')[0]);
                SceneItemServerJson itemServerJson = new SceneItemServerJson(scenePageData);
                itemServerJson.groupId = groupID;
                //sceneDataJson.sceneDatas.Add(itemServerJson);
                bool isexist = false;
                for (int j = 0; j < serverJson.sceneDatas.Count; j++)
                {
                    SceneItemServerJson serverJson00 = serverJson.sceneDatas[j];
                    if (serverJson00.groupId == groupID)
                    {
                        serverJson.sceneDatas[j] = itemServerJson;
                        isexist = true;
                        break;
                    }
                }
                if (!isexist)
                {
                    serverJson.sceneDatas.Add(itemServerJson);
                }
            }
        }

        //服务端数据
        string serverJsonStr = fastJSON.JSON.ToJSON(serverJson);

        SceneLightHelper.CreateJson(Application.streamingAssetsPath + "/SceneData/scenedata.json", serverJsonStr);
    }
コード例 #3
0
 private bool CheckSceneData(BaseItem baseItem)
 {
     for (int j = 0; j < sceneData.sceneDatas.Count; j++)
     {
         SceneItemServerJson itemserver = sceneData.sceneDatas[j];
         for (int m = 0; m < itemserver.items.Count; m++)
         {
             if (baseItem.id == itemserver.items[m].itemID)
             {
                 return(true);
             }
         }
     }
     return(false);
 }
コード例 #4
0
        private void GetExhibit()
        {
            m_scene.Clear();
            long exhibitID = long.Parse(exhibitIDStr);

            for (int i = 0; i < sceneData.sceneDatas.Count; i++)
            {
                SceneItemServerJson itemDatas = sceneData.sceneDatas[i];
                for (int j = 0; j < itemDatas.items.Count; j++)
                {
                    if (itemDatas.items[j].itemID == exhibitID)
                    {
                        GetSceneForGroupID(itemDatas.groupId);
                    }
                }
            }
        }