using System.Collections.Generic;
using UnityEngine;
[System.Serializable]
public class Save
{
public List livingEnermyPositions = new List();
public List livingPlayerPositions = new List();
public List sceneNums = new List();
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO;
using LitJson;
using UnityEngine.SceneManagement;
public class GameManager : MonoBehaviour
{
public static GameManager _instance;
public GameObject[] enemys;
public GameObject[] player;
public GameObject[] scenes;
private void Resume()
{
_instance = this;
Pause();
}
void Update()
{
private Save CreateSaveGo()
{
Save save = new Save();
return save;
}
private void SetGame(Save save)
{
}
//Json:存档
private void SaveByJson()
{
Save save = CreateSaveGo();
string filePath = Application.dataPath + "/StreamingFile" + "/byJson.json";
//利用JsonMapper将save对象转换为Json格式的字符串
string saveJsonStr = JsonMapper.ToJson(save);
//将这个字符串写入到文件中
//创建一个StreamWriter,将字符写入到文件中
StreamWriter sw = new StreamWriter(filePath);
sw.Write(saveJsonStr);
//关闭StreamWriter
sw.Close();
if (File.Exists(Application.dataPath + "/StreamingFile" + "/byJson.json"))
{
pauseMenuUI.ShowMessage("Saved");
}
}
//Json:读档
private void LoadByJson()
{
string filePath = Application.dataPath + "/StreamingFile" + "/byJson.json";
if (File.Exists(filePath))
{
//创建一个StreamReader,用来读取流
StreamReader sr = new StreamReader(filePath);
//将读取到的流赋值给string类型的jsonstr
string jsonstr = sr.ReadToEnd();
//关闭流
sr.Close();
//将字符串jsonstr转换为save对象
Save save = JsonMapper.ToObject<Save>(jsonstr);
SetGame(save);
}
else
{
pauseMenuUI.ShowMessage("Missing");
}
}
}
public void SaveGame()
{
SaveByJson();
}
public void LoadGame()
{
LoadByJson();
}
}
如果你想要查找标的方法的话,可以这么写:
GameObject player = GameObject.FindGameObjectWithTag("Player的标签名");
string pos=player.transform.position.ToString();//得到player的坐标字符串---(x,y,z)格式的字符串
其实你也可以不用,你不是已经用数组保存了Player和enemy了吗,你可以直接获取你数组下某个下标的游戏对象的坐标保存就可以了,比如enemys[0].transform.position,就表示数组里第一个敌人的坐标,将其转为字符串保存到你的json文件就行