【发布时间】:2021-01-24 15:52:33
【问题描述】:
我在 Unity 2020.2.1f1 中设置了一个非常简单的编辑器脚本,当按下 Inspector 按钮时,它应该将指定参数的值更改为代码中设置的值。
public override void OnInspectorGUI()
{
DrawDefaultInspector();
StateObject s = (StateObject)target;
if (s.objID == 0)
{
if (GUILayout.Button("Generate Object ID"))
{
GenerateID(s);
}
}
}
public void GenerateID(StateObject s)
{
s.objID = DateTimeOffset.Now.ToUnixTimeSeconds();
}
这一切都像它应该的那样工作。我按下按钮,正确的数字出现在字段中,我很高兴。但是,一旦我切换到播放模式,该值会重置为预设默认值,并且即使我关闭播放模式也会保持这种状态。
我是否缺少一些 ApplyChange 功能或其他什么?
【问题讨论】:
标签: c# unity3d unity-editor