U_读取和写入Txt
https://www.youtube.com/watch?v=ziBIeKlLqL0
using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
using UnityEngine;
[Serializable]
public class RoomSaveLoad : MonoBehaviour{
[Serializable]
public class RoomInfo {
public float xPos;
public float yPos;
public float zPos;
}
[Serializable]
public class SaveData {
public List<RoomInfo> roomInfoList = new List<RoomInfo>();
}
public void Save() {
// 创建数据
var data = new SaveData();
// 房间列表
var roomList = RoomManager.instance.AllRoomList;
for (var i = 0; i < roomList.Count; i++) {
var tempRoom = roomList[i];
var roomInfo = new RoomInfo();
roomInfo.xPos = tempRoom.transform.position.x;
roomInfo.yPos = tempRoom.transform.position.y;
roomInfo.zPos = tempRoom.transform.position.z;
data.roomInfoList.Add(roomInfo);
}
// 保存数据
var bin = new BinaryFormatter();
var stream = new FileStream(Application.persistentDataPath + "/SaveFile.txt", FileMode.Create);
bin.Serialize(stream, data);
stream.Close();
Debug.Log("Game Saved");
}
public void Load() {
if (File.Exists(Application.persistentDataPath + "/SaveFile.txt")) {
// 提取数据
var bin = new BinaryFormatter();
var stream = new FileStream(Application.persistentDataPath + "/SaveFile.txt", FileMode.Open);
var data = (SaveData)bin.Deserialize(stream);
var roomList = RoomManager.instance.AllRoomList;
for (var i = 0; i < roomList.Count; i++) {
var tempRoom = roomList[i];
var info = data.roomInfoList[i];
tempRoom.transform.position = new Vector3(info.xPos, info.yPos, info.zPos);
}
stream.Close();
} else {
Debug.Log("no file found");
}
}
}

浙公网安备 33010602011771号