mission_task_build_construction¶
Quelle: base/tealdef/mission/tasks/build_construction/mission_task_build_construction.d.tl
Hinweise
Aufgabe, die wartet, bis der Spieler etwas baut, das eine Reihe von Prüfungen des Bauvorschlags besteht.
MissionTaskBuildConstruction¶
record global base/tealdef/mission/tasks/build_construction/mission_task_build_construction.d.tl:3
global record MissionTaskBuildConstruction is MissionInterface.TaskScript<MissionTaskBuildConstruction.State, MissionTaskBuildConstruction.Params>
Laden: local build_construction = ug_require "::/mission/tasks/build_construction/build_construction.tl" as MissionTaskBuildConstruction
Hinweise
Aufgabe (build_construction), die jeden Bauvorschlag mit proposalHandler prüft. Ein Vorschlag, der eine Prüfung nicht besteht, wird mit deren Meldung blockiert. Jeder angewendete Vorschlag, der alle besteht, zählt, und bei minCount (Standard 1) ist die Aufgabe abgeschlossen.
Beispiel
-- urbangames_campaign_mission_01: ein Straßendepot in einem markierten Bereich bauen
taskScript = build_construction as MissionInterface.TaskScript<any, any>,
taskParams : MissionTaskBuildConstruction.Params = {
zones = { { key = "buildStreetDepot", polygon = depotPolygon, draw = true, getDrawColor = targetColor, playAnimation = true } },
initialAngle = params.streetDepotAngle,
proposalHandler = build_construction_util.makeProposalHandlerFilterApply({
checkBuilderId = build_construction_util.makeCheckConstructionBuilderId({ error = _("MISSION_PROPOSAL_FEEDBACK_NOT_A_ROAD_DEPOT") }),
checkConstruction = build_construction_util.makeCheckConstruction("::/depots/road/road_depot/road_depot.con", nil, { error = _("MISSION_PROPOSAL_FEEDBACK_NOT_A_ROAD_DEPOT") }),
checkLocation = build_construction_util.makeCheckLocation(params.streetDepotZone.pos[1], params.streetDepotZone.pos[2], 20, { error = _("MISSION_PROPOSAL_FEEDBACK_NOT_IN_OUTLINED_AREA") }),
checkSnapping = build_construction_util.makeCheckSnapping({}, { error = _("MISSION_PROPOSAL_FEEDBACK_NOT_CONNECTED_TO_STREET") }),
}, true),
},
MissionTaskBuildConstruction.Params¶
record base/tealdef/mission/tasks/build_construction/mission_task_build_construction.d.tl:5
record Params
Hinweise
Parameter der Aufgabe.
Im Basisspiel verwendet: 22-mal in 5 Dateien
base/content/mission/mission/tasks/build_construction/build_construction.tl:6
base/content/mission/mission/tutorial/tutorial_story.tl:441
mods/release/urbangames_campaign_mission_01/content/mission/mission/mission_story.tl:666
mods/release/urbangames_campaign_mission_02/content/mission/mission/mission_story.tl:368
mods/release/urbangames_campaign_mission_04/content/mission/mission/mission_story.tl:394
Felder
| Name | Typ | Beschreibung |
|---|---|---|
proposalHandler |
BuildConstructionUtil.ProposalHandlerConfig |
Prüfungen, die auf Bauvorschläge angewendet werden (Pflicht, außer makeProposalHandler ist angegeben). |
zones |
{MissionInterface.Zone} |
Anzuzeigende Zonen. |
initialAngle |
number |
Drehung, die beim Öffnen der Aufgabe im Bauwerkzeug für Konstruktionen eingestellt wird, im Bogenmaß. |
minCount |
integer |
Anzahl der nötigen bestandenen Vorschläge (Standard 1; bei 0 ist die Aufgabe sofort abgeschlossen). Ab 2 erscheint ein Zähler. |
Funktionen
getProposalHandlerData() : any base/tealdef/mission/tasks/build_construction/mission_task_build_construction.d.tl:7
Hinweise
Gibt die Daten zurück, aus denen makeProposalHandler den Vorschlags-Handler baut. Wird beim Erzeugen der Aufgabe aufgerufen; das Ergebnis landet in State.proposalHandlerData und wird mit der Aufgabe gespeichert.
Rückgabe any: Daten für makeProposalHandler. urbangames_campaign_mission_02 liefert für seine Signalaufgaben eine Tabelle mit Kanten-Entitäten.
Details
Bei einer nicht abgeschlossenen Aufgabe aus einem älteren Spielstand (Aufgabenversion unter 5) wird die Funktion beim Laden erneut aufgerufen, wenn der Zustand keine Daten hat. Liefert sie dann nil, ist die Aufgabe abgeschlossen.
makeProposalHandler(data : any) : BuildConstructionUtil.ProposalHandlerConfig base/tealdef/mission/tasks/build_construction/mission_task_build_construction.d.tl:8
receives result of getProposalHandlerData
Hinweise
Baut für jeden Vorschlag den Vorschlags-Handler aus State.proposalHandlerData; hat Vorrang vor proposalHandler.
| Parameter | Typ | Beschreibung |
|---|---|---|
data |
any |
Das gespeicherte Ergebnis von getProposalHandlerData. |
Rückgabe BuildConstructionUtil.ProposalHandlerConfig: Vorschlags-Handler, z. B. aus build_construction_util.makeProposalHandlerFilterApply.
Details
Fehlen die Daten im Zustand, schreibt die Aufgabe einen Fehler ins Log und prüft den Vorschlag nicht.
getZones() : {MissionInterface.Zone} base/tealdef/mission/tasks/build_construction/mission_task_build_construction.d.tl:10
Hinweise
Gibt die anzuzeigenden Zonen zurück; hat Vorrang vor zones.
Rückgabe {MissionInterface.Zone}: Zonen.
getEntitiesToDraw() : {Engine.Entity} base/tealdef/mission/tasks/build_construction/mission_task_build_construction.d.tl:11
Hinweise
Gibt Entitäten zurück, die je mit einem Kreis von 5 m markiert werden; hat Vorrang vor getZones und zones.
Rückgabe {Engine.Entity}: Entitäten.
getMinCount() : integer base/tealdef/mission/tasks/build_construction/mission_task_build_construction.d.tl:14
Hinweise
Gibt die nötige Anzahl zurück, wenn minCount nicht gesetzt ist; wird beim Erzeugen aufgerufen.
Rückgabe integer: Anzahl.
MissionTaskBuildConstruction.State¶
record base/tealdef/mission/tasks/build_construction/mission_task_build_construction.d.tl:17
record State
Hinweise
Zustand der Aufgabe.
Im Basisspiel verwendet: 2-mal in 2 Dateien
base/content/mission/mission/tasks/build_construction/build_construction.tl:5
base/content/mission/mission/tutorial/tutorial_story.tl:905
Felder
| Name | Typ | Beschreibung |
|---|---|---|
minCount |
integer |
Nötige Anzahl. |
resultEntities |
{Engine.Entity} |
Erste Ergebnis-Entität jedes bestandenen Vorschlags. |
signalsFound |
integer |
Bestandene Vorschläge ohne Ergebnis-Entität (zum Beispiel Signale). |
proposalHandlerData |
any |
Ergebnis von getProposalHandlerData, beim Erzeugen gespeichert und an makeProposalHandler übergeben. Ältere Spielstände (Aufgabenversion unter 5) bekommen es beim Laden, solange die Aufgabe nicht abgeschlossen ist. |