2016-07-22 7 views
1

Ich experimentiere mit einem unidirektionalen Datenfluss von einem Manager-Objekt hinunter in die Komponenten, die es verwaltet, und ich muss wissen, ob ich darauf vertrauen kann, für alle Objekte in der Szene zur Ladezeit (diejenigen in der Szene Hierarchie im Editor), ALLE ihrer Start Methoden werden aufgerufen, bevor eine ihrer Update Methoden aufgerufen werden.Kann ich mich darauf verlassen, dass alle Start-Methoden ausgeführt werden, bevor irgendwelche Updates beim Laden der Szene ausgeführt werden?

Die Dokumentation auf MonoBehaviour.Start() sagt der folgende:

Der Start wird auf dem Rahmen aufgerufen, wenn ein Skript gerade aktiviert ist, bevor eine der Update-Methoden ist das erste Mal aufgerufen.

Dies deutet darauf hin, dass das, was ich frage, korrekt ist, aber es könnte nur eine ungerade Formulierung sein. Alle meine Tests haben gezeigt, dass dies so funktioniert, aber ich möchte immer noch verifizieren, bevor ich dieses Muster überall verwende.

Danke!

Antwort

1

Ja, alle Ihre Startmethoden werden zuerst ausgeführt, und Sie können sich auch Awake anschauen, wenn Sie von diesen Methoden abhängig sind.

+0

Vielen Dank! Nebenfrage: Kann ich garantieren, dass, wenn eine Komponente andere Komponenten als Eigenschaften enthält, die Startmethoden dieser Komponenten zuerst ausgeführt werden? –

+0

Ich erinnere mich an Kommentare wie diese (die es nicht immer 100% sicher ist) http://forum.unity3d.com/threads/is-this-for-real.7892/#post-58314 * ziemlich alten Thread, aber nicht gefunden andere gerade jetzt .. – mgear

+0

Okay. Vielen Dank! Frage mich, wie man das mildern kann. –

Verwandte Themen