Jump to content
Unity Insider Forum

C#: Voids in nicht definierten Scripten anstoßen?


AniProGuy2

Recommended Posts

Hallo Community,

Meine Frage ist eigentlich fast selbsterklärend. Ich möchte für mein Spiel ein Script anfertigen (bzw. habe es schon soweit fertig), das als Schnittstelle für Interaktionen dient (z.B. etwas steuern). Dazu wäre es hilfreich, wenn man in eine Liste Components/ Scripte legen kann, bei denen dann Voids angestoßen werden, wie z.B. "UserJoined", "UserQuitted" usw. Welche Scripte in diese Liste gelegt werden, ist dabei variabel und vorher nicht definiert. Es ist nur wichtig, dass die Voids angestoßen werden, und was dann damit gemacht wird, hängt dann vom jeweiligen Script ab.

Meine Frage ist nun: ist das möglich? Also Voids in Scripten anstoßen, die vorher nicht definiert sind? Ich habe dazu nichts gefunden und wäre für jede Hilfe dankbar.

MfG,
AniProGuy2

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich würde ein Interface mit den gewünschten Methodensignaturen anlegen. Davon erben dann die besaten Scripte und implementiern dann diese Methode. An SedMessage würde ich mich erstmal nicht gewöhnen. Das liegt daran, dass dein Code an Wartbarkeit verliert, denn es wird nur ein String mit dem Methodennamen übergeben. Da kann man sich verschreiben und zur Methode kannst du auch nich direkt mit Visual Studio springen, wiel da keine richtige Referenz vorhanden ist.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja, SendMessage ist auf dauer nicht das beste. Aber Interfaces sind auch keine gute Lösung, weil sie mit einigen Grundkonzepten von Unity nicht verträglich sind. Wenn wir also schon nach besseren Lösungen suchen, dann doch bitte die Aufteilung in mehrere Komponenten ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

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

×
×
  • Neu erstellen...