Работа над игрой в стиле блэкджек. Не могу прочитать и написать файл

Так. Я пытаюсь создать профиль сохранения, но у меня есть ошибка, показанная на картинке, и я не знаю, как ее исправить, так как я следовал инструкциям на YouTube, и эта ошибка никогда не возникала. Может ли кто-нибудь помочь мне решить, что я должен делать. введите описание изображения здесь

using UnityEngine;
using System;
using System.Runtime.Serialization.Formatters.Binary;
using System.IO;


public class SavingControl : MonoBehaviour
{
public static SavingControl control;

public int cash = PlayerBetting.instance.bankBal;
public int difficulty = 2;

void Awake ()
{
    if (control = null)
    {
        DontDestroyOnLoad(gameObject);
        control = this;
    }
    else if (control != this)
    {
        Destroy(gameObject);
    }

}
public void Save()
{
    BinaryFormatter bf = new BinaryFormatter();
    FileStream file = File.Create(Application.persistentDataPath + "/playerInfo.dat");

    PlayerData data = new PlayerData();
    data.BankBal = cash;
    data.Difficulty = difficulty;

    bf.Serialize(file, data);
    file.Close();

}
public void Load()
{
    if (File.Exists(Application.persistentDataPath + "/PlayerInfo.dat"))
    {
        BinaryFormatter bf = new BinaryFormatter();
        FileStream file = File.Open(Application.persistentDataPath = "/PlayerInfro.dat", FileMode.Open);
        PlayerData data = (PlayerData)bf.Deserialize(file);
        file.Close();

        cash = data.BankBal;
        difficulty = data.Difficulty;
    }
}

} [Serializable] class PlayerData { public int BankBal; public int Difficulty; }

1 ответ

Решение

Изменить = к +:

FileStream file = File.Open(Application.persistentDataPath + "/PlayerInfro.dat", FileMode.Open);

Еще лучше использовать Path.Combine:

FileStream file = File.Open(Path.Combine(Application.persistentDataPath, "PlayerInfro.dat"), FileMode.Open);
Другие вопросы по тегам