如何使用 Unity 切换和切换组将切换组中的选定切换保存为播放器首选项?

How can I use Unity toggles and toggle groups to save a selected toggle in a toggle group as player prefs?

我有一个带有输入字段和切换组的场景我想将玩家输入保存在玩家偏好设置中,因为我将在连续的游戏会话中重复使用它。我还想从切换组中选择的切换标签中获取文本。到目前为止,这是我的代码。我有一个编译器错误,提示我无法将 guitext 转换为字符串。我想我已经将输入字段字符串保存得很好,它的切换组很棘手。

    using UnityEngine;
    using System.Collections;
    using UnityEngine.UI;

    public class CreateHolder : MonoBehaviour {

    public InputField Input1;
    public InputField Input2;
    public InputField Input3;
    public InputField Input4;
    public ToggleGroup Discount;
    public ToggleGroup Params;
    public ToggleGroup Time;


    public void Grabdata() {

    PlayerPrefs.SetString("Offername", Input1.text);
    if (PlayerPrefs.HasKey("Offername") == true) 
    {
            Debug.Log("something has saved");
            Debug.Log(PlayerPrefs.GetString("Input1").ToString());
    }

    PlayerPrefs.SetString("Offerdesc", Input2.text);
    PlayerPrefs.SetString("Offeramount", Input3.text);
    PlayerPrefs.SetString("Offerpercent", Input4.text);
    PlayerPrefs.SetString("Tog1", Discount.GetComponent<GUIText>());
    PlayerPrefs.SetString("Tog2", Params.GetComponent<GUIText>());
    PlayerPrefs.SetString("Tog3", Time.GetComponent<GUIText>());
    }
    }

试试这个代码:

 using UnityEngine;
    using System.Collections;
    using UnityEngine.UI;

    public class CreateHolder : MonoBehaviour {

    public InputField Input1;
    public InputField Input2;
    public InputField Input3;
    public InputField Input4;
    public ToggleGroup Discount;
    public ToggleGroup Params;
    public ToggleGroup Time;


    public void Grabdata() {

    PlayerPrefs.SetString("Offername", Input1.text);
    if (PlayerPrefs.HasKey("Offername") == true) 
    {
            Debug.Log("something has saved");
            Debug.Log(PlayerPrefs.GetString("Input1"));
    }

    PlayerPrefs.SetString("Offerdesc", Input2.text);
    PlayerPrefs.SetString("Offeramount", Input3.text);
    PlayerPrefs.SetString("Offerpercent", Input4.text);
    PlayerPrefs.SetString("Tog1", Discount.GetComponent<GUIText>().text);
    PlayerPrefs.SetString("Tog2", Params.GetComponent<GUIText>().text);
    PlayerPrefs.SetString("Tog3", Time.GetComponent<GUIText>().text);
    }
    }