0

所以,我有一个可编写脚本的对象,我需要跟踪一个日期。因为可编写脚本的对象不能自己跟踪运行时之间的日期,所以我想出了以下内容:

public long EndTimeLong;
private DateTime endTime;
public DateTime EndTime
{
    get
    {
        return endTime;
    }
    set
    {
        EndTimeLong = value.ToBinary();
        endTime = value;
    }
}

因此,将 EndTime 设置为任何值,将其作为二进制存储在 EndTimeLong 中。

然后就在我在运行时使用它之前,我调用了以下方法:

public void ReInit()
{
    EndTime = DateTime.FromBinary(EndTimeLong);
    ...
}

因此,在我完全使用脚本对象之前,应该恢复原始日期。

但是,这似乎可以在编辑器中找到,但在 Android 中却不行。

我可以说的是,在编辑器中,我运行了一个方法,将 endtime 设置为未来 60 秒。然后我停止并开始编辑器播放,它知道 endtime 仍然在未来并相应地采取行动。(显示一些东西等)然而,在android上,它把它当作时间不在未来。为什么两者之间的这种行为会有所不同?我该如何解决这个问题?

4

1 回答 1

0

我假设您在会话之间将 EndTimeLong 值写入文件,这就是您稍后加载它的方式。如果您提供有关如何在会话之间保存数据的更多信息,我们可能会提供更多帮助。

话虽这么说,如果这是您在会话之间需要保存的全部内容,我会改为使用 Unity 的 PlayerPref 东西:https ://docs.unity3d.com/ScriptReference/PlayerPrefs.html

于 2016-06-28T21:07:42.923 回答