public void SaveObjectData(Scene_MapData mapData) { int slotIdx = 0; m_curMapIdx = Managers.World.CurMapIdx; string loadString = File.ReadAllText("Assets/Resources/Data/ObjectData.json"); JObject loaddata = JObject.Parse(loadString); JObject savedata = new JObject(); GameObject objectHolder = GameObject.Find("ObjectHolder"); JArray portalDatas = (JArray)loaddata[$"ObjectData_{slotIdx}"][m_curMapIdx]["PortalData"]; portalDatas = new JArray(); slotIdx = 2; savedata[$"ObjectData_{slotIdx}"] = new JObject(); savedata[$"ObjectData_{slotIdx}"][m_curMapIdx] = (JObject)JToken.FromObject(mapData); loaddata.Merge(savedata); string savestring = JsonConvert.SerializeObject(loaddata, Formatting.Indented); File.WriteAllText("Assets/Resources/Data/ObjectData.json", savestring); }
public Scene_MapData LoadObjectData(string mapIdx) { string[] parsing = mapIdx.Split('_'); string mapType = parsing[0]; int mapNum = int.Parse(parsing[1]); int slotIdx = GameManager.GameMgr.SaveSlotIdx; string loadString = File.ReadAllText("Assets/Resources/Data/ObjectData.json"); JObject loaddata = JObject.Parse(loadString); Scene_MapData mapData = new Scene_MapData(); mapData = JsonConvert.DeserializeObject <Scene_MapData>(loaddata[$"ObjectData_{slotIdx}"][$"{mapType}_{mapNum}"].ToString()); JArray objectDatas = (JArray)loaddata[$"ObjectData_{slotIdx}"][$"{mapType}_{mapNum}"]["PortalData"]; for (int i = 0; i < objectDatas.Count; i++) { mapData.PortalData.Add(JsonConvert.DeserializeObject <Portal_Info>(objectDatas[i].ToString())); } return(mapData); }