Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
public class Saver : MonoBehaviour {
public GameObject player;
[System.Serializable]
public class Position
{
public float x;
public float y;
public float z;
}
public void Save()
{
Position position = new Position();
position.x = player.transform.position.x;
position.y = player.transform.position.y;
position.z = player.transform.position.z;
if (!Directory.Exists(Application.dataPath + "/Saved Games"))
Directory.CreateDirectory(Application.dataPath + "/Saved Games");
FileStream fs = new FileStream(Application.dataPath + "/Saved Games/save.sav", FileMode.Create);
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(fs, position);
fs.Close();
}
public void Load()
{
if(File.Exists(Application.dataPath + "/Saved Games/save.sav"))
{
FileStream fs = new FileStream(Application.dataPath + "/Saved Games/save.sav", FileMode.Open);
BinaryFormatter formatter = new BinaryFormatter();
try
{
Position pos = (Position)formatter.Deserialize(fs);
player.transform.position = new Vector3(pos.x, pos.y, pos.z);
}
catch(System.Exception e)
{
Debug.Log(e.Message);
}
finally
{
fs.Close();
}
}
else
{
Application.Quit();
}
}
void Update()
{
if (Input.GetKeyDown(KeyCode.F6))
{
Save();
}
if (Input.GetKeyDown(KeyCode.F7))
{
Load();
}
}
}
using System.Collections.Generic;
using UnityEngine;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
public class Saver : MonoBehaviour {
public GameObject player;
[System.Serializable]
public class Position
{
public float x;
public float y;
public float z;
}
public void Save()
{
Position position = new Position();
position.x = player.transform.position.x;
position.y = player.transform.position.y;
position.z = player.transform.position.z;
if (!Directory.Exists(Application.dataPath + "/Saved Games"))
Directory.CreateDirectory(Application.dataPath + "/Saved Games");
FileStream fs = new FileStream(Application.dataPath + "/Saved Games/save.sav", FileMode.Create);
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(fs, position);
fs.Close();
}
public void Load()
{
if(File.Exists(Application.dataPath + "/Saved Games/save.sav"))
{
FileStream fs = new FileStream(Application.dataPath + "/Saved Games/save.sav", FileMode.Open);
BinaryFormatter formatter = new BinaryFormatter();
try
{
Position pos = (Position)formatter.Deserialize(fs);
player.transform.position = new Vector3(pos.x, pos.y, pos.z);
}
catch(System.Exception e)
{
Debug.Log(e.Message);
}
finally
{
fs.Close();
}
}
else
{
Application.Quit();
}
}
void Update()
{
if (Input.GetKeyDown(KeyCode.F6))
{
Save();
}
if (Input.GetKeyDown(KeyCode.F7))
{
Load();
}
}
}
А вот скрипт менюшки:
Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
public class Start_Menu : MonoBehaviour {
public GameObject player;
public Scene pers;
public class Position
{
public float x;
public float y;
public float z;
}
public void StartGame()
{
SceneManager.LoadScene(1);
}
public void LoadGame()
{
}
public void Settings()
{
}
public void Authors()
{
}
public void Quit()
{
Application.Quit();
}
}
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
public class Start_Menu : MonoBehaviour {
public GameObject player;
public Scene pers;
public class Position
{
public float x;
public float y;
public float z;
}
public void StartGame()
{
SceneManager.LoadScene(1);
}
public void LoadGame()
{
}
public void Settings()
{
}
public void Authors()
{
}
public void Quit()
{
Application.Quit();
}
}