// Update is called once per frame void Update() { //finde Script für den aktuellen Spieler StatsCharakter script = globalScript.spieler[globalScript.aktuellerSpieler].GetComponent <StatsCharakter>(); //erzeuge neue Stamina Bars falls mehr benötigt als //erwartet und füge ans array dran if (staminaBars.Length < script.bewegung) { GameObject[] newBars = new GameObject[script.bewegung]; for (int i = 0; i < staminaBars.Length; i++) { //erstmal alles alte ins neue newBars[i] = staminaBars[i]; } for (int i = staminaBars.Length; i < script.bewegung; i++) { //dann zusätzliche ins neue newBars[i] = Instantiate(prefabStaminaBar, new Vector3(9.6f - i, -4f, 0), Quaternion.identity); } staminaBars = newBars; //pointer aufs neue umlegen } //eigentliches Anzeigen for (int i = 0; i < staminaBars.Length; i++) { staminaBars[i].SetActive(script.bewegung > i); } }
void move(int x, int y) { StatsCharakter script = spieler[aktuellerSpieler].GetComponent <StatsCharakter>(); if (script.bewegung > 0) { Vector3 position = spieler[aktuellerSpieler].transform.position; //Falls Kollision auftritt zurück setzten if (!KollisionUeberpruefung(new Vector2(position[0] + x, position[1] + y))) { spieler[aktuellerSpieler].transform.Translate(x, y, 0); script.bewegung--; } } }