Jump to content
Unity Insider Forum

PlayerPrefs Logik Für bereits aufgenommen Objekte


NodKane

Recommended Posts

Hallo liebe Community,

danke schon einmal für eure Zeit. Also ich habe in meinem Level Objekte platziert, die man aufnehmen kann.

 

Lang: Ich habe mir das so vorgestellt: Man startet das Game. Dann nimmt man (mehrere / unterschiedliche) Objekte auf und beende das Game. Dann lade ich das Game neu und dann sollten dort die Objekte nicht mehr da sein.

 

Kurz: Wie macht man es das mit PlayerPrefs das man die Objekte die man damals schon mal aufgenommen hat nicht wieder aufnehmen kann(Also weg sind).

 

Wenn jemand weiß wie ich das machen kann würde ich mich echt freuen wenn ihr mir helfen könntet.

Link zu diesem Kommentar
Auf anderen Seiten teilen

public string key; //da muss was einzigartiges im editor eingetragen werden

void Start()
{
 if(PlayerPrefs.HasKey("Item Taken: "+key)) //da kann jetzt irgendwas beliebiges mit "key" drin stehen, hauptsache, es ändert sich nicht mehr
 {
   Destroy(this);
 }
}

//Taken wird von dir von woanders aufgerufen
void Taken()
{
 PlayerPrefs.SetInt("Item Taken: "+key, 1); //hier muss jetzt der selbe key setehen wie oben bei HasKey
}

Der SetInt kann eigentlich alles sein, da ich oben gar nicht prüfe, was unter "Item Taken: Blub" gespeichert ist, sondern nur, ob etwas gespeichert ist.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Vielen danke für den Code und die schnelle Antwort. Es funktioniert so wie ich mir das vorgestellt habe. Ich habe aber eine kleine Änderung vorgenommen das es das ganze GameObject zerstört.

.gameObject

 

void Awake()
{
 if(PlayerPrefs.HasKey("Item Taken: "+key)) //da kann jetzt irgendwas beliebiges mit "key" drin stehen, hauptsache, es ändert sich nicht mehr
 {
  Destroy(this.gameObject);
 }
}

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...