Member 14171110 Ответов: 1

Как использовать ienumerator или горячую клавишу для сохранения и загрузки данных в C#?


Я хотел бы реализовать функцию автосохранения и автоматической загрузки с помощью кода(Ienumerator) или горячей клавиши(нажмите F1 для сохранения / нажмите F5 для загрузки) ..без необходимости использовать графический интерфейс.

Что я уже пробовал:

using UnityEngine; // For Debug.Log, etc.
using System.Text;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization.Formatters.Binary;
using System;
using System.Runtime.Serialization;
using System.Reflection;
using System.Timers;

public static class SaveLoad {

    public static List<Game> stellate = new List<Game>();
    

    public static void Save()
    {
        SaveLoad.stellate.Add(Game.current);
        BinaryFormatter bf = new BinaryFormatter();
        FileStream file = File.Create(Application.persistentDataPath + "/stellate.sgd");
        bf.Serialize(file, SaveLoad.stellate);
        file.Close();

    }
    public static void Load()
    {
        if (File.Exists(Application.persistentDataPath + "/stellate.sgd"))
        {
            BinaryFormatter bf = new BinaryFormatter();
            FileStream file = File.Open(Application.persistentDataPath + "/stellate.sgd", FileMode.Open);
            SaveLoad.stellate = (List<Game>)bf.Deserialize(file);
            file.Close();
        }
    }
}



/*private Timer timer1;
public void InitTimer()
{
    timer1 = new Timer();
    timer1.Tick += new EventHandler(timer1_Tick);
    timer1.Interval = 2000; // in miliseconds
    timer1.Start();
}

private void timer1_Tick(object sender, EventArgs e)
{
    save();
}*/

Gerry Schmitz

Нет GUI и нет Main() ... Как вы поднимаетесь с земли?

#realJSOP

Я думаю, что это какой-то новомодный интерфейс между разумом и машиной.

#realJSOP

Как это "автосохранение", если вам нужно нажать клавишу, чтобы запустить его?

1 Ответов

Рейтинг:
2

#realJSOP

Я ненавижу систему.Таймеры, поэтому я бы рассмотрел возможность использования системы.Реактивный. Он доступен через NuGet.

Я написал статью, в которой используется этот пакет - SQLXAgent - задания для SQL Express - Часть 4 из 6[^]

Эта часть серии multipart специально упоминает об этом, но мой совет-скачать coa-de и посмотреть, как я его использовал, или, еще лучше, систему google".Реактивный" для получения информации.