/// <summary> /// Löst die Darstellung auf, d.h. der Titel des Objekts /// aus dem Ereignis wird nun konkret in der Textkomponente /// auf dem Bildschirm gezeichnet. /// </summary> /// <param name="dasObjekt">Objekt dessen Titel gezeichnet werden soll. Kann null sein, um den Text zu leeren.</param> public void zeichneObjekt(ObjektMitTitel dasObjekt) { dasAktuelleObjekt = dasObjekt; if (dasObjekt == null) // Kein Objekt -> leerer Text { textName.text = ""; icon.enabled = false; fortschrittsBalken.gameObject.SetActive(false); aktionsButton.gameObject.SetActive(false); } else // Konkretes Objekt -> dessen Eigenschaften zeichnen { textName.text = dasObjekt.titel; icon.texture = dasObjekt.icon; icon.enabled = (dasObjekt.icon != null); if (dasObjekt.GetType() == typeof(ObjektMitTitelUndFortschritt)) { Vector3 neueGroesse = new Vector3(1f, 1f, 1f); neueGroesse.x = ((ObjektMitTitelUndFortschritt)dasObjekt).fortschritt; fortschritt.GetComponent <RectTransform>().localScale = neueGroesse; fortschrittsBalken.gameObject.SetActive(true); aktionsButton.gameObject.SetActive(true); } else //kein ObjektMitTitelUndFortschritt { fortschrittsBalken.gameObject.SetActive(false); aktionsButton.gameObject.SetActive(false); } } }
/// <summary> /// Ruft alle Funktionen auf, die in der Liste beiObjektMitTitelAenderung /// eingetragen wurden. /// /// Ein event kann nur von der Klasse aufgerufen werden, /// die das Event/Liste selbst enthält. Damit auch andere Objekte wie /// das ObjektMitTitel den Aufruf auslösen können, bieten wir /// diese Helferfunktion an. /// </summary> /// <param name="dasObjekt">Das Objekt mit Titel, das an die Funktionen in der Ereignisliste weitergereicht werden soll. </param> public void beiObjektMitTitelAenderung_aufrufen(ObjektMitTitel dasObjekt) { beiObjektMitTitelAenderung(dasObjekt); }