Работа над игрой в стиле блэкджек. Не могу прочитать и написать файл - PullRequest
0 голосов
/ 04 ноября 2018

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

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 Ответ

0 голосов
/ 05 ноября 2018

Измените = на +:

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

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

FileStream file = File.Open(Path.Combine(Application.persistentDataPath, "PlayerInfro.dat"), FileMode.Open);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...