我想保存一些变量的值。我tried将其保存到文件中,但它不起作用。所以现在我以另一种方式尝试。但它也没有保存数据...如果我开始模拟i Unity,更改变量值,停止模拟然后再次启动它,我有变量的旧值..
void OnEnable()
{
LoadFromFile();
}
void OnDisable()
{
SaveToFile();
}
public void SaveToFile()
{
GameObject gameManagerObject = GameObject.FindGameObjectWithTag("GAMEMANAGER");
GAMEMANAGER gameManager = gameManagerObject.GetComponent<GAMEMANAGER>();
IndicatorsInfo indicatorsInfo = new IndicatorsInfo();
PlayerPrefs.SetFloat("my_setting", indicatorsInfo.walkSpeedTemfFile);
}
public void LoadFromFile()
{
GameObject gameManagerObject = GameObject.FindGameObjectWithTag("GAMEMANAGER");
GAMEMANAGER gameManager = gameManagerObject.GetComponent<GAMEMANAGER>();
gameManager.walkSpeedTemp = PlayerPrefs.GetFloat("my_setting");
}
[Serializable]
class IndicatorsInfo
{
public float walkSpeedTemfFile;
}
答案 0 :(得分:2)
$timeout
当您使用IndicatorsInfo indicatorsInfo = new IndicatorsInfo();
PlayerPrefs.SetFloat("my_setting", indicatorsInfo.walkSpeedTemfFile);
关键字时,您正在创建IndicatorsInfo
的新 实例。您已从新实例中保存new
,而为您创建的新indicatorsInfo.walkSpeedTemfFile
分配值。
您可能要做的是保存编辑器的价值?
indicatorsInfo