Zum Inhalt

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

local type P = MissionTaskBuildConstruction.Params
base/content/mission/mission/tutorial/tutorial_story.tl:441
taskParams : MissionTaskBuildConstruction.Params = {
mods/release/urbangames_campaign_mission_01/content/mission/mission/mission_story.tl:666
taskParams : MissionTaskBuildConstruction.Params = {
mods/release/urbangames_campaign_mission_02/content/mission/mission/mission_story.tl:368
taskParams : MissionTaskBuildConstruction.Params = {
mods/release/urbangames_campaign_mission_04/content/mission/mission/mission_story.tl:394
taskParams : MissionTaskBuildConstruction.Params = {

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

local type S = MissionTaskBuildConstruction.State
base/content/mission/mission/tutorial/tutorial_story.tl:905
local conTask = taskState as MissionInterface.TaskState<MissionTaskBuildConstruction.State, MissionTaskBuildConstruction.Params>

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.