mission_task_store_entity¶
Quelle: base/tealdef/mission/tasks/utility/mission_task_store_entity.d.tl
Hinweise
Aufgabe, die eine Entität als Schnappschuss speichert, damit andere Aufgaben sie lesen können.
MissionTaskStoreEntity¶
record global base/tealdef/mission/tasks/utility/mission_task_store_entity.d.tl:3
global record MissionTaskStoreEntity is MissionInterface.TaskScript<MissionTaskStoreEntity.State, MissionTaskStoreEntity.Params>
Laden: local store_entity = ug_require "::/mission/tasks/utility/store_entity.tl" as MissionTaskStoreEntity
Hinweise
Aufgabe (store_entity), die eine Entität als Schnappschuss (ID und Revision) in ihrem Zustand speichert und dann abgeschlossen ist. Das Tutorial des Basisspiels speichert so seine Hauptstadt (store_capital) und die zweite Stadt (store_town2) und liest sie mit TutorialStoryUtil.getCapital und TutorialStoryUtil.getSecondTown.
Details
storeFn wird bei jedem Update aufgerufen, bis es eine Entität liefert. Der Schnappschuss ist nil, wenn die
Entität nicht mehr existiert oder isExpectedFn sie ablehnt; resolved ist in beiden Fällen true, und die
Aufgabe endet mit einem Fehler im Log. Der Abschluss wartet ein weiteres Update (waitForEngineSwap).
Spielstände aus der Zeit vor dieser Aufgabe, die die Entitäts-ID in einer store_any-Aufgabe hielten,
wandelt handleLegacy um; besteht die gespeicherte Entität isExpectedFn nicht mehr, sucht es unter allen
Entitäten einen Ersatz.
MissionTaskStoreEntity.Params¶
record base/tealdef/mission/tasks/utility/mission_task_store_entity.d.tl:4
record Params
Hinweise
Parameter der Aufgabe.
Im Basisspiel verwendet: 8-mal in 3 Dateien
base/content/mission/mission/tasks/utility/store_entity.tl:4
base/content/mission/mission/tutorial/tutorial_story.tl:224
base/content/mission/mission/tutorial/tutorial_story_util.tl:52
Funktionen
storeFn(readOnlyApi : MissionInterface.MissionTaskReadOnlyApi) : Engine.Entity base/tealdef/mission/tasks/utility/mission_task_store_entity.d.tl:5
Hinweise
Findet die zu speichernde Entität; wird bei jedem Update aufgerufen, bis es eine Entität liefert.
| Parameter | Typ | Beschreibung |
|---|---|---|
readOnlyApi |
MissionInterface.MissionTaskReadOnlyApi |
Mission-API mit Lesezugriff. |
Rückgabe Engine.Entity: Zu speichernde Entität oder nil, um es erneut zu versuchen.
isExpectedFn(entity : Engine.Entity) : boolean base/tealdef/mission/tasks/utility/mission_task_store_entity.d.tl:6
Hinweise
Optionale Prüfung der gefundenen Entität, zum Beispiel ob sie eine Stadt ist. Eine abgelehnte Entität wird protokolliert, und es wird kein Schnappschuss gespeichert.
| Parameter | Typ | Beschreibung |
|---|---|---|
entity |
Engine.Entity |
Die Entität, die storeFn geliefert hat. |
Rückgabe boolean: true, wenn die Entität von der erwarteten Art ist.
MissionTaskStoreEntity.State¶
record base/tealdef/mission/tasks/utility/mission_task_store_entity.d.tl:8
record State
Hinweise
Zustand der Aufgabe.
Im Basisspiel verwendet: 2-mal in 2 Dateien
base/content/mission/mission/tasks/utility/store_entity.tl:3
base/content/mission/mission/tutorial/tutorial_story_util.tl:52
Felder
| Name | Typ | Beschreibung |
|---|---|---|
snapshot |
EntityUtil.EntityAndRevision |
nil if storeFn yielded no valid entity Gespeicherte Entität mit ihrer Revision oder nil, wenn storeFn keine gültige Entität geliefert hat. |
resolved |
boolean |
true, sobald storeFn eine Entität geliefert hat, egal ob der Schnappschuss gültig ist. |
waitForEngineSwap |
boolean |
Verzögert den Abschluss nach dem Speichern um ein Update. |