C# 如何将计时器值保存到json文件中并读回?

C# 如何将计时器值保存到json文件中并读回?,c#,unity3d,C#,Unity3d,我正在使用EditorWindow 在脚本的顶部: private int h = 0, m = 0, s = 0; private static int Hours = 0; private static int Minutes = 0; private static int Seconds = 0; OnGUI内部: private void OnGUI() { EditorGUI.BeginChangeCheck(); Hours = EditorGUILayout.

我正在使用EditorWindow

在脚本的顶部:

private int h = 0, m = 0, s = 0;
private static int Hours = 0;
private static int Minutes = 0;
private static int Seconds = 0;
OnGUI内部:

private void OnGUI()
{
  EditorGUI.BeginChangeCheck();
        Hours = EditorGUILayout.IntSlider("Set the hours",Hours,0, 59);
        Minutes = EditorGUILayout.IntSlider("Set the minutes", Minutes, 0, 59);
        Seconds = EditorGUILayout.IntSlider("Set the seconds", Seconds, 0, 59);
        if (EditorGUI.EndChangeCheck())
        {
            h = Hours;
            m = Minutes;
            s = Seconds;
        }
}
以及保存方法:

private void SaveTimerValues()
    {
        string jsonTimer = JsonHelper.ToJson(, true);
        File.WriteAllText(@"d:\json\json.txt", jsonTimer);
    }
类JsonHelper:

using UnityEngine;
using System.Collections;
using System;

public class JsonHelper
{
    public static T[] FromJson<T>(string json)
    {
        Wrapper<T> wrapper = UnityEngine.JsonUtility.FromJson<Wrapper<T>>(json);
        return wrapper.Items;
    }

    public static string ToJson<T>(T[] array, bool prettyPrint)
    {
        Wrapper<T> wrapper = new Wrapper<T>();
        wrapper.Items = array;
        return UnityEngine.JsonUtility.ToJson(wrapper, prettyPrint);
    }

    [Serializable]
    private class Wrapper<T>
    {
        public T[] Items;
    }
}

但是,如何先保存计时器值,然后将其读回并分配给每个变量:小时-分钟-秒?

如果您真的想这样保存和读取值。考虑制作类计时器

class Timer {
    public int Hours = 0;
    public int Minutes = 0;
    public int Seconds = 0;
}

但您确实应该考虑使用<代码> DATESTIME/COD>并使用此。 而且

JSON
只是一个简单的字符串,所以您可以使用

string timerInJson = UnityEngine.JsonUtility.ToJson(timer);
File.WriteAllText(@"d:\json\json.txt", timerInJson);
这样读吧

string jsonTimer = File.ReadAllText(@"d:\json\json.txt");
Timer timer = JsonUtility.FromJson<Timer>(jsonTimer);
string jsonTimer=File.ReadAllText(@“d:\json\json.txt”);
Timer=JsonUtility.FromJson(jsonTimer);

Timer类上需要Serializable属性。
string jsonTimer = File.ReadAllText(@"d:\json\json.txt");
Timer timer = JsonUtility.FromJson<Timer>(jsonTimer);