Search Unity

problem with playerprefs

Discussion in 'Scripting' started by Recurring, Nov 10, 2017.

  1. Recurring

    Recurring

    Joined:
    Aug 30, 2017
    Posts:
    12
    firstly, apologies for posting this here, but the unity answer forums appear to be down. I'm creating an inventory system for my game(no prebuilt items, you can just type in whatever you want), and i'm having some trouble with saving/loading. my code for loading(I checked, it does run):
    if (Info.hasloadedupbefore == 1 && Info.hasloadedup == false) {
    slot1.text = PlayerPrefs.GetString ("slot1text" + thisinventorynumber);
    slot2.text = PlayerPrefs.GetString ("slot2text" + thisinventorynumber);
    slot3.text = PlayerPrefs.GetString ("slot3text" + thisinventorynumber);
    slot4.text = PlayerPrefs.GetString ("slot4text" + thisinventorynumber);
    slot5.text = PlayerPrefs.GetString ("slot5text" + thisinventorynumber);
    slot6.text = PlayerPrefs.GetString ("slot6text" + thisinventorynumber);
    slot7.text = PlayerPrefs.GetString ("slot7text" + thisinventorynumber);
    slot8.text = PlayerPrefs.GetString ("slot8text" + thisinventorynumber);
    slot9.text = PlayerPrefs.GetString ("slot9text" + thisinventorynumber);
    slot10.text = PlayerPrefs.GetString ("slot10text" + thisinventorynumber);
    slot11.text = PlayerPrefs.GetString ("slot11text" + thisinventorynumber);
    slot12.text = PlayerPrefs.GetString ("slot12text" + thisinventorynumber);
    slot13.text = PlayerPrefs.GetString ("slot13text" + thisinventorynumber);
    slot14.text = PlayerPrefs.GetString ("slot14text" + thisinventorynumber);
    slot15.text = PlayerPrefs.GetString ("slot15text" + thisinventorynumber);
    slot16.text = PlayerPrefs.GetString ("slot16text" + thisinventorynumber);
    slot17.text = PlayerPrefs.GetString ("slot17text" + thisinventorynumber);
    slot18.text = PlayerPrefs.GetString ("slot18text" + thisinventorynumber);
    slot19.text = PlayerPrefs.GetString ("slot19text" + thisinventorynumber);
    slot20.text = PlayerPrefs.GetString ("slot20text" + thisinventorynumber);
    slot21.text = PlayerPrefs.GetString ("slot21text" + thisinventorynumber);
    slot22.text = PlayerPrefs.GetString ("slot22text" + thisinventorynumber);
    slot23.text = PlayerPrefs.GetString ("slot23text" + thisinventorynumber);
    slot24.text = PlayerPrefs.GetString ("slot24text" + thisinventorynumber);
    slot25.text = PlayerPrefs.GetString ("slot25text" + thisinventorynumber);
    slot26.text = PlayerPrefs.GetString ("slot26text" + thisinventorynumber);
    slot27.text = PlayerPrefs.GetString ("slot27text" + thisinventorynumber);
    slot28.text = PlayerPrefs.GetString ("slot28text" + thisinventorynumber);
    slot29.text = PlayerPrefs.GetString ("slot29text" + thisinventorynumber);
    slot30.text = PlayerPrefs.GetString ("slot30text" + thisinventorynumber);
    slot31.text = PlayerPrefs.GetString ("slot31text" + thisinventorynumber);
    slot32.text = PlayerPrefs.GetString ("slot32text" + thisinventorynumber);
    }
    and here's my code for saving:
    if (currenttext == 1) {
    slot1.text = addstuff.text;
    PlayerPrefs.SetString ("slot1text" + thisinventorynumber, slot1.text);
    } else if (currenttext == 2) {
    slot2.text = addstuff.text;
    PlayerPrefs.SetString ("slot2text" + thisinventorynumber, slot2.text);
    } else if (currenttext == 3) {
    slot3.text = addstuff.text;
    PlayerPrefs.SetString ("slot3text" + thisinventorynumber, slot3.text);
    } else if (currenttext == 4) {
    slot4.text = addstuff.text;
    PlayerPrefs.SetString ("slot4text" + thisinventorynumber, slot4.text);
    } else if (currenttext == 5) {
    slot5.text = addstuff.text;
    PlayerPrefs.SetString ("slot5text" + thisinventorynumber, slot5.text);
    } else if (currenttext == 6) {
    slot6.text = addstuff.text;
    PlayerPrefs.SetString ("slot6text" + thisinventorynumber, slot6.text);
    } else if (currenttext == 7) {
    slot7.text = addstuff.text;
    PlayerPrefs.SetString ("slot7text" + thisinventorynumber, slot7.text);
    } else if (currenttext == 8) {
    slot8.text = addstuff.text;
    PlayerPrefs.SetString ("slot8text" + thisinventorynumber, slot8.text);
    } else if (currenttext == 9) {
    slot9.text = addstuff.text;
    PlayerPrefs.SetString ("slot9text" + thisinventorynumber, slot9.text);
    } else if (currenttext == 10) {
    slot10.text = addstuff.text;
    PlayerPrefs.SetString ("slot10text" + thisinventorynumber, slot10.text);
    } else if (currenttext == 11) {
    slot11.text = addstuff.text;
    PlayerPrefs.SetString ("slot11text" + thisinventorynumber, slot11.text);
    } else if (currenttext == 12) {
    slot12.text = addstuff.text;
    PlayerPrefs.SetString ("slot12text" + thisinventorynumber, slot12.text);
    } else if (currenttext == 13) {
    slot13.text = addstuff.text;
    PlayerPrefs.SetString ("slot13text" + thisinventorynumber, slot13.text);
    } else if (currenttext == 14) {
    slot14.text = addstuff.text;
    PlayerPrefs.SetString ("slot14text" + thisinventorynumber, slot14.text);
    } else if (currenttext == 15) {
    slot15.text = addstuff.text;
    PlayerPrefs.SetString ("slot15text" + thisinventorynumber, slot15.text);
    } else if (currenttext == 16) {
    slot16.text = addstuff.text;
    PlayerPrefs.SetString ("slot16text" + thisinventorynumber, slot16.text);
    } else if (currenttext == 17) {
    slot17.text = addstuff.text;
    PlayerPrefs.SetString ("slot17text" + thisinventorynumber, slot17.text);
    } else if (currenttext == 18) {
    slot18.text = addstuff.text;
    PlayerPrefs.SetString ("slot18text" + thisinventorynumber, slot18.text);
    } else if (currenttext == 19) {
    slot19.text = addstuff.text;
    PlayerPrefs.SetString ("slot19text" + thisinventorynumber, slot19.text);
    } else if (currenttext == 20) {
    slot20.text = addstuff.text;
    PlayerPrefs.SetString ("slot20text" + thisinventorynumber, slot20.text);
    } else if (currenttext == 21) {
    slot21.text = addstuff.text;
    PlayerPrefs.SetString ("slot21text" + thisinventorynumber, slot21.text);
    } else if (currenttext == 22) {
    slot22.text = addstuff.text;
    PlayerPrefs.SetString ("slot22text" + thisinventorynumber, slot22.text);
    } else if (currenttext == 23) {
    slot23.text = addstuff.text;
    PlayerPrefs.SetString ("slot23text" + thisinventorynumber, slot23.text);
    } else if (currenttext == 24) {
    slot24.text = addstuff.text;
    PlayerPrefs.SetString ("slot24text" + thisinventorynumber, slot24.text);
    } else if (currenttext == 25) {
    slot25.text = addstuff.text;
    PlayerPrefs.SetString ("slot25text" + thisinventorynumber, slot25.text);
    } else if (currenttext == 26) {
    slot26.text = addstuff.text;
    PlayerPrefs.SetString ("slot26text" + thisinventorynumber, slot26.text);
    } else if (currenttext == 27) {
    slot27.text = addstuff.text;
    PlayerPrefs.SetString ("slot27text" + thisinventorynumber, slot27.text);
    } else if (currenttext == 28) {
    slot28.text = addstuff.text;
    PlayerPrefs.SetString ("slot28text" + thisinventorynumber, slot28.text);
    } else if (currenttext == 29) {
    slot29.text = addstuff.text;
    PlayerPrefs.SetString ("slot29text" + thisinventorynumber, slot29.text);
    } else if (currenttext == 30) {
    slot30.text = addstuff.text;
    PlayerPrefs.SetString ("slot30text" + thisinventorynumber, slot30.text);
    } else if (currenttext == 31) {
    slot31.text = addstuff.text;
    PlayerPrefs.SetString ("slot31text" + thisinventorynumber, slot31.text);
    } else if (currenttext == 32) {
    slot32.text = addstuff.text;
    PlayerPrefs.SetString ("slot32text" + thisinventorynumber, slot32.text);
    }
    i've already defined all the text variables, addstuff(which is an input field), and currenttext. Each inventory slot is a button, and pressing on it will change currenttext to it's number. Any help is greatly appreciated.
     
  2. Recurring

    Recurring

    Joined:
    Aug 30, 2017
    Posts:
    12
    Never mind, fixed it, it was a problem with thisinventorynumber, I just needed to add one to it while saving.
     
  3. Brathnann

    Brathnann

    Joined:
    Aug 12, 2014
    Posts:
    7,187
    Just curious...but why didn't you use a collection instead of having this big long piece of code?
     
    TaleOf4Gamers likes this.
  4. Recurring

    Recurring

    Joined:
    Aug 30, 2017
    Posts:
    12
    I wrote that a long time ago, and haven't changed it yet.
     
  5. TaleOf4Gamers

    TaleOf4Gamers

    Joined:
    Nov 15, 2013
    Posts:
    825
    +1 Honestly, that is migraine inducing :p

    I sure hope you update it ;)
     
  6. Recurring

    Recurring

    Joined:
    Aug 30, 2017
    Posts:
    12
    I will, Once I get the app close to release.