Hermetes Geschrieben 20. August 2019 Melden Share Geschrieben 20. August 2019 Hallo! Anstatt abzufragen if (playerstate == state.run) kann man denn auch den Wechsel zum State abfragen? Oder komme ich da mit einem Delegate und Event nicht drum herum? Ich frage, weil das ja wieder unnötig viele Update Abfragen sind. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Wattsefakk Geschrieben 20. August 2019 Melden Share Geschrieben 20. August 2019 private Playerstate _enum; public Playerstate Enum { get{ return _enum; } set{ _enum = value; // Hier jetzt eine Funktion ausführen die dein Code den du bei Änderung ausführen willst } } So würde ich das ja jetzt machen gibt aber vllt noch andere möglichkeiten Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Hermetes Geschrieben 20. August 2019 Autor Melden Share Geschrieben 20. August 2019 Deine Idee gefällt mir Wattsefakk! Bin gespannt ob noch jemand mit einer unerwartete Möglichkeit aufwartet. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 20. August 2019 Melden Share Geschrieben 20. August 2019 Nönö, das ist schon genau, wie man das macht. Nur, dass du deine Property nicht "Enum" nennen solltest Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
devandart Geschrieben 21. August 2019 Melden Share Geschrieben 21. August 2019 Allerdings muss man noch darauf achten, dass hier nun auch etwas ausgeführt wird, wenn sich der State nicht wirklich ändert. Man kann das aber auch einfach umgehen, wenn man möchte. public UnityEvent playerStateChanged; //mit so einem event können sich dann auch mehrere daran registrieren, um auf eine Änderung zu reagieren private Playerstate currentPlayerState; public Playerstate CurrentPlayerState { get { return currentPlayerState; } set { if(currentPlayerState != value) { currentPlayerState = value; if(playerStateChanged != null) { playerStateChanged.Invoke(); } } } } Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Hermetes Geschrieben 21. August 2019 Autor Melden Share Geschrieben 21. August 2019 Danke euch drei! So wie es aussieht, benutzt ihr eifrig die Properties. Hatte da immer einen Bogen drum gemacht. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
MaZy Geschrieben 23. August 2019 Melden Share Geschrieben 23. August 2019 Am 21.8.2019 um 15:03 schrieb devandart: if(playerStateChanged != null) { playerStateChanged.Invoke(); } man kann auch einfach nur so machen: playerStateChanged?.Invoke(); Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
devandart Geschrieben 26. August 2019 Melden Share Geschrieben 26. August 2019 Am 23.8.2019 um 17:13 schrieb MaZy: man kann auch einfach nur so machen: playerStateChanged?.Invoke(); Kommt auf die Unity bzw. .Net Version an, aber ich gebe Dir Recht. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.