peachplayer Geschrieben 19. März 2018 Melden Share Geschrieben 19. März 2018 using UnityEngine; using UnityEngine.UI; using System.Collections.Generic; public class Anzeige1 : MonoBehaviour { List<HighscoreEintrag> liste; public InputField NummerEingabe; public InputField ParzellennameEingabe; public InputField FlächeEingabe; public InputField KulturEingabe; public Text NummerAnzeige, ParzellennameAnzeige, FlächeAnzeige, KulturAnzeige, KassenbestandAnzeige, ÖkobilanzAnzeige; public Toggle anzeigeSchalter; public Rect windowRect0 = new Rect(600, 20, 120, 50); public string[] Flurname = new string[5] { "Fahlrüti1", "Studenacker1", "Suchern1", "Wille2", "Zuchern" }; public float[] Area = new float[5] { 219, 155, 185, 88, 77 }; public string[] Kulturen = new string[5] { "Winterweizen", "Mais", "Wintergerste", "Wintergerste", "Wintergerste" }; public int k; void Start() { liste = new List<HighscoreEintrag>(); ListeFuellen(); } void ListeFuellen() { for (int i = 0; i < 10; i++) { if (PlayerPrefs.HasKey("Parzellenname_p" + i)) { int Nummer = PlayerPrefs.GetInt("Nummer_p" + i); string Parzellenname = PlayerPrefs.GetString("Parzellenname_p" + i); string Kultur = PlayerPrefs.GetString("Kultur_p" + i); float Fläche = PlayerPrefs.GetFloat("Fläche_p" + i); HighscoreEintrag eintrag = new HighscoreEintrag(Nummer, Parzellenname, Fläche, Kultur); liste.Add(eintrag); } else break; } ListeAnzeigen(); } void ListeAnzeigen() { string NummerAusgabe = ""; string ParzellennameAusgabe = ""; string FlächeAusgabe = ""; string KulturAusgabe = ""; string NAusgabe = ""; string PAusgabe = ""; string KAusgabe = ""; string MgAusgabe = ""; for (int i = 0; i < liste.Count && i < 10; i++) { NummerAusgabe += liste[i].GetNummer() + "\n"; ParzellennameAusgabe += liste[i].GetParzellenname() + "\n"; FlächeAusgabe += liste[i].GetFläche() + "\n"; KulturAusgabe += liste[i].GetKultur() + "\n"; if (liste[i].GetKultur() == "Winterweizen") Debug.Log("Winterweizen"); PlayerPrefs.SetFloat("Ertrag_ww" + i, 7000.0f); if (liste[i].GetKultur() == "Wintergerste") PlayerPrefs.SetFloat("Ertrag_wg" + i, 5000.0f); Debug.Log("Wintergerste"); if (liste[i].GetKultur() == "Mais") PlayerPrefs.SetFloat("Ertrag_m" + i, 10000.0f); Debug.Log("Mais"); //NAusgabe += liste[i].GetN() + "\n"; //PAusgabe += liste[i].GetP() + "\n"; //KAusgabe += liste[i].GetK() + "\n"; //MgAusgabe += liste[i].GetMg() + "\n"; } NummerAnzeige.text = NummerAusgabe; ParzellennameAnzeige.text = ParzellennameAusgabe; FlächeAnzeige.text = FlächeAusgabe; KulturAnzeige.text = KulturAusgabe; KassenbestandAnzeige.text = PlayerPrefs.GetFloat("Kassenbestand").ToString(); ÖkobilanzAnzeige.text = PlayerPrefs.GetFloat("Ökobilanz").ToString(); //NAnzeige.text = NAusgabe; //PAnzeige.text = PAusgabe; //KAnzeige.text = KAusgabe; //MgAnzeige.text = MgAusgabe; } public void NeuerEintragHinzu() { HighscoreEintrag neuerEintrag = ZufallsEintrag(); k++; bool eingefuegt = false; for (int i = 0; i < liste.Count; i++) { if (!liste[i].GroesserAls(neuerEintrag.GetNummer())) { liste.Insert(i, neuerEintrag); eingefuegt = true; break; } } if (!eingefuegt) liste.Add(neuerEintrag); ListeAnzeigen(); ListeSpeichern(); } HighscoreEintrag ZufallsEintrag() { int Nummer = int.Parse(NummerEingabe.text); string Parzellenname = ParzellennameEingabe.text; float Fläche = float.Parse(FlächeEingabe.text); string Kultur = KulturEingabe.text; string eingabe = ParzellennameEingabe.text; if (Nummer == 0 && eingabe == "" && Fläche == 0 && Kultur == "" && k<=4) { Nummer = k; Parzellenname = Flurname[k]; Fläche = Area[k]; Kultur = Kulturen[k]; HighscoreEintrag neuerEintrag1 = new HighscoreEintrag(Nummer, Parzellenname, Fläche, Kultur); return neuerEintrag1; } if (eingabe != "") { if (eingabe.Length >= 20) eingabe = eingabe.Substring(0, 20); Parzellenname = eingabe; } HighscoreEintrag neuerEintrag = new HighscoreEintrag(Nummer, Parzellenname, Fläche, Kultur); return neuerEintrag; } void ListeSpeichern() { for (int i = 0; i < liste.Count && i < 10; i++) { PlayerPrefs.SetInt("Nummer_p" + i, liste[i].GetNummer()); PlayerPrefs.SetString("Parzellenname_p" + i, liste[i].GetParzellenname()); PlayerPrefs.SetFloat("Fläche_p" + i, liste[i].GetFläche()); PlayerPrefs.SetString("Kultur_p" + i, liste[i].GetKultur()); } } public void AllesLoeschen() { NummerAnzeige.text = ""; ParzellennameAnzeige.text = ""; FlächeAnzeige.text = ""; KulturAnzeige.text = ""; liste.Clear(); PlayerPrefs.DeleteAll(); } void OnGUI() { if (PlayerPrefs.GetFloat("Kassenbestand") >= 100000) windowRect0 = GUI.Window(0, windowRect0, DoMyWindow, "Spiel gewonnen!"); //GUILayout.Label("Spiel gewonnen!"); if (PlayerPrefs.GetFloat("Kassenbestand") <= -50000) windowRect0 = GUI.Window(0, windowRect0, DoMyWindow,"Spiel verloren!"); //GUILayout.Label("Spiel verloren!"); if (PlayerPrefs.GetFloat("Ökobilanz") <= -1000) windowRect0 = GUI.Window(0, windowRect0, DoMyWindow, "Spiel verloren!"); //GUILayout.Label("Spiel verloren!"); //if (gameRunning) //{ // GUILayout.Label("Aktuelle Runde: " + currentRound); // GUILayout.Label("Aktueller Spieler: " + currentPlayer); // GUILayout.Label("Aktueller Spielzug: " + currentBall); //} else //{ // GUILayout.Label("Spiel starten mit linker Maustaste."); //} if (GUI.Button(new Rect(10, 10, 200, 50), "Parzellendaten eingeben")) Application.LoadLevel(0); if (GUI.Button(new Rect(10, 100, 200, 50), "Dünger eingeben")) Application.LoadLevel(1); if (GUI.Button(new Rect(10, 150, 200, 50), "Pflanzenschutzmittel eingeben")) Application.LoadLevel(2); if (GUI.Button(new Rect(10, 200, 200, 50), "Feldarbeiten eingeben")) Application.LoadLevel(3); if (GUI.Button(new Rect(10, 250, 200, 50), "Kosten anzeigen")) Application.LoadLevel(4); if (GUI.Button(new Rect(10, 300, 200, 50), "DB anzeigen")) Application.LoadLevel(5); if (GUI.Button(new Rect(10, 350, 200, 50), "Nährstoffbilanz anzeigen")) Application.LoadLevel(6); if (GUI.Button(new Rect(10, 400, 200, 50), "Spiel neu starten")) PlayerPrefs.DeleteAll(); } void DoMyWindow(int windowID) { } public void AnzeigeSchalterGeklickt() { if (anzeigeSchalter.isOn) ListeAnzeigen(); else { NummerAnzeige.text = ""; ParzellennameAnzeige.text = ""; FlächeAnzeige.text = ""; KulturAnzeige.text = ""; } } public void Animation_anzeigen() { Application.LoadLevel(9); } } Hallo Leute Versuche mit obigem Code vordefienierte Werte für die Variable "Area[ ]" anzuzeigen bei der Tasteneingabe "0". Leider funktioniert das nicht und es werden nur bereits in den Player-Prefs gespeicherte Werte angezeigt. Woran könnte das liegen? Bin dankbar für Antworten! Gruss Peachplayer Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
peachplayer Geschrieben 20. März 2018 Autor Melden Share Geschrieben 20. März 2018 ...Au weia... habe gemerkt dass im Inspector andere Werte eingetragen waren! Gruss Peachplayer Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.