- Home /
Question by
cliffmlimwa · Feb 09 at 09:06 AM ·
c#scripting problemui
check 10 PlayerPrefs which is Empty and Save
i coded the following code i want to check which PlayerPrefs is empty and save text from inputbox then display it in Ui text problem is Uitext3 is displaying text from Uitex2 please help i want to achieve this in more than 10 PlayerPrefs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class SaveTittles : MonoBehaviour
{
public InputField InputsaveTittes;
public Text SaveTittlesText1;
public Text SaveTittlesText2;
public Text SaveTittlesText3;
// Start is called before the first frame update
void Start()
{
InputsaveTittes.Select();
InputsaveTittes.ActivateInputField();
}
// Update is called once per frame
void Update()
{
//PlayerPrefs.SetString("Now",SaveTittlesText.text);
SaveTittlesText1.text=PlayerPrefs.GetString("1");
SaveTittlesText2.text=PlayerPrefs.GetString("2");
SaveTittlesText3.text=PlayerPrefs.GetString("3");
}
public void SaveNow(){
if (PlayerPrefs.HasKey ("1") == false)
{
PlayerPrefs.SetString("1",InputsaveTittes.text.ToString());
PlayerPrefs.Save();
}
else if (PlayerPrefs.HasKey ("1") == true)
{
PlayerPrefs.SetString("2",InputsaveTittes.text.ToString());
PlayerPrefs.Save();
}
else if (PlayerPrefs.HasKey ("2") == false)
{
PlayerPrefs.SetString("2",InputsaveTittes.text.ToString());
PlayerPrefs.Save();
}
else if (PlayerPrefs.HasKey ("2") == true)
{
PlayerPrefs.SetString("3",InputsaveTittes.text.ToString());
PlayerPrefs.Save();
}
}
}
Comment
Answer by perf401 · Feb 09 at 12:06 PM
for (int i = 1; i < 10; i++)
{
if (PlayerPrefs.HasKey(i.ToString()) == false)
{
PlayerPrefs.SetString(i.ToString(), InputsaveTittes.text.ToString());
PlayerPrefs.Save();
}
else
{
PlayerPrefs.SetString(i+1.ToString(), InputsaveTittes.text.ToString()); // if i = 9 it will be 10;
PlayerPrefs.Save();
}
}
I didn't check if code is working and not sure if it's the best solution (if it's even working).