我正在尝试向场景添加一个下拉列表,其中用户选择一个选项并更新播放器首选项,并且当应用程序重新启动时,下拉列表中的所选选项应该是用户之前选择的选项。
到目前为止我想出的代码如下。
public Dropdown mViewerTypeDropDown;
void Start () {
mDebug = (LRDebug)mScriptHolder.GetComponent<LRDebug> ();
mScriptHolder=GameObject.Find ("ScriptHolder");
mViewerTypeDropDown.captionText.text = PlayerPrefs.GetString ("Viewer Type","Generic Cardboard (Default)");
}
//The Function attached to onvaluechanged listner
public void ViewerTypeChanged(int value)
{
mViwerTypeChange = value;
switch (mViwerTypeChange) {
case 0:
mViewerType = "Generic Cardboard (Default)";
break;
case 1:
mViewerType="VR ONE (Zeiss)";
break;
case 2:
mViewerType="VR Goggles (Merge)";
break;
case 3:
mViewerType="C1-Glass (Go4D)";
break;
case 4:
mViewerType="Cardboard v1 (Google)";
break;
}
PlayerPrefs.SetString("Viewer Type",mViewerType);
PlayerPrefs.Save ();
}
Run Code Online (Sandbox Code Playgroud)
这对我来说在逻辑上似乎是正确的,但我不确定我在这里缺少什么。为了进一步明确,我已将附加方法设置为编辑器中的动态方法,如下所示
我已经搜索了很多,但由于这个下拉选项是一个新选项,所以还没有很多例子。因此,作为一名统一新手,我似乎无法解决这个问题。如果有人能帮助我,这将是一个很大的帮助。谢谢