Zum Inhalt

tutorial_story_util

Quelle: base/tealdef/mission/tutorial/tutorial_story_util.d.tl

Hinweise

Helfer der Tutorial-Story des Basisspiels (Hauptstadt, Industrien, Bereiche, Fahrzeuglisten).

TutorialStoryUtil

record global base/tealdef/mission/tutorial/tutorial_story_util.d.tl:3

global record TutorialStoryUtil

Laden: local tutorial_story_util = ug_require "::/mission/tutorial/tutorial_story_util.tl" as TutorialStoryUtil

Hinweise

Helfer der Tutorial-Story des Basisspiels.

Felder

Name Typ Beschreibung
TownDistrictRadius number Radius in Metern um den Mittelpunkt eines Gebiets, in dem seine Straßen gesucht werden (100). 31-mal im Basisspiel verwendet

Funktionen

getCapital() : Engine.Entity base/tealdef/mission/tutorial/tutorial_story_util.d.tl:5

Aufruf: tutorial_story_util.getCapital(…)

Hinweise

Gibt die Hauptstadt des Tutorials zurück, gelesen aus der Aufgabe store_capital.

Rückgabe Engine.Entity: Stadt-Entität oder -1.

Im Basisspiel verwendet: 69-mal in 4 Dateien

base/content/mission/mission/tutorial/tasks/tutorial_init.tl:138

industryEntity = tutorial_story_util.getClosestIndustryToTown("::/industries/farm/farm.con", tutorial_story_util.getCapital())
base/content/mission/mission/tutorial/tutorial_story.tl:321
addEntity(tutorial_story_util.getCapital())
base/content/mission/mission/tutorial/tutorial_story_branch_a.tl:121
local townZone = tutorial_story_util.toPosRadius(tutorial_story_util.getTownDistrictCenterSafe(tutorial_story_util.getCapital(), api.type["enum"].LandUseType.CO
base/content/mission/mission/tutorial/tutorial_story_branch_b.tl:143
entity_town = { getEntity = tutorial_story_util.getCapital },

getCapitalName() : string base/tealdef/mission/tutorial/tutorial_story_util.d.tl:6

Aufruf: tutorial_story_util.getCapitalName(…)

Hinweise

Gibt den Namen der Hauptstadt zurück.

Rückgabe string: Name oder "ERROR".

Im Basisspiel verwendet: 35-mal in 3 Dateien

base/content/mission/mission/tutorial/tutorial_story.tl:558

TOWN_NAME = tutorial_story_util.getCapitalName(),
base/content/mission/mission/tutorial/tutorial_story_branch_a.tl:137
TOWN_NAME = tutorial_story_util.getCapitalName(),
base/content/mission/mission/tutorial/tutorial_story_branch_b.tl:138
TOWN_NAME = tutorial_story_util.getCapitalName(),

getSecondTown() : Engine.Entity base/tealdef/mission/tutorial/tutorial_story_util.d.tl:7

Aufruf: tutorial_story_util.getSecondTown(…)

Hinweise

Gibt die zweite Stadt des Tutorials zurück, gelesen aus der Aufgabe store_town2.

Rückgabe Engine.Entity: Stadt-Entität oder -1.

Im Basisspiel verwendet: 13-mal in 1 Datei

base/content/mission/mission/tutorial/tutorial_story.tl:322

addEntity(tutorial_story_util.getSecondTown())

getSecondTownName() : string base/tealdef/mission/tutorial/tutorial_story_util.d.tl:8

Aufruf: tutorial_story_util.getSecondTownName(…)

Hinweise

Gibt den Namen der zweiten Stadt zurück.

Rückgabe string: Name oder "ERROR".

Im Basisspiel verwendet: 8-mal in 1 Datei

base/content/mission/mission/tutorial/tutorial_story.tl:1222

TOWN_NAME_2 = tutorial_story_util.getSecondTownName(),

getPositionSafe(entity : Engine.Entity) : Vec3f base/tealdef/mission/tutorial/tutorial_story_util.d.tl:9

Aufruf: tutorial_story_util.getPositionSafe(…)

Hinweise

Gibt die Position einer Entität zurück oder nil, wenn die Entität nil ist oder nicht mehr existiert.

Parameter Typ Beschreibung
entity Engine.Entity Entität, deren Position gesucht wird.

Rückgabe Vec3f: Position oder nil.

Im Basisspiel verwendet: 20-mal in 3 Dateien

base/content/mission/mission/tutorial/tutorial_story.tl:109

local townCenter = tutorial_story_util.getPositionSafe(town)
base/content/mission/mission/tutorial/tutorial_story_branch_a.tl:770
tutorial_story_util.toPosRadius(tutorial_story_util.getPositionSafe(getOilPlatform()), tutorial_story_util.TownDistrictRadius),
base/content/mission/mission/tutorial/tutorial_story_branch_b.tl:923
tutorial_story_util.toPosRadius(tutorial_story_util.getPositionSafe(getFishingGrounds()), tutorial_story_util.TownDistrictRadius),

getTownDistrictCenterSafe(town : Engine.Entity, landUseType : LandUseType) : Vec3f base/tealdef/mission/tutorial/tutorial_story_util.d.tl:10

Aufruf: tutorial_story_util.getTownDistrictCenterSafe(…)

Hinweise

Gibt die Mitte des Stadtbezirks einer Flächennutzungsart zurück oder nil, wenn die Stadt nil ist oder nicht mehr existiert.

Parameter Typ Beschreibung
town Engine.Entity Stadt-Entität.
landUseType LandUseType Wohn-, Gewerbe- oder Industriebezirk.

Rückgabe Vec3f: Position der Bezirksmitte oder nil.

Im Basisspiel verwendet: 23-mal in 3 Dateien

base/content/mission/mission/tutorial/tutorial_story.tl:688

circle = tutorial_story_util.toPosRadius(tutorial_story_util.getTownDistrictCenterSafe(tutorial_story_util.getCapital(), api.type["enum"].LandUseType.RESIDENTIA
base/content/mission/mission/tutorial/tutorial_story_branch_a.tl:121
local townZone = tutorial_story_util.toPosRadius(tutorial_story_util.getTownDistrictCenterSafe(tutorial_story_util.getCapital(), api.type["enum"].LandUseType.CO
base/content/mission/mission/tutorial/tutorial_story_branch_b.tl:190
local townZone = tutorial_story_util.toPosRadius(tutorial_story_util.getTownDistrictCenterSafe(tutorial_story_util.getCapital(), api.type["enum"].LandUseType.IN

getCapitalCargoDemand(cargoTypeRes : string) : number base/tealdef/mission/tutorial/tutorial_story_util.d.tl:11

Aufruf: tutorial_story_util.getCapitalCargoDemand(…)

Hinweise

Gibt zurück, wie viel von einer Fracht die Hauptstadt nachfragt.

Parameter Typ Beschreibung
cargoTypeRes string Frachtart-Datei, wie api.res.cargoTypeRep.find sie erwartet.

Rückgabe number: Die Nachfrage (der zweite Wert von townBuildingSystem.getCargoSupplyAndLimit), oder 0 ohne Hauptstadt oder für eine Fracht, die die Stadt nicht verwendet.

Im Basisspiel verwendet: 4-mal in 2 Dateien

base/content/mission/mission/tutorial/tutorial_story_branch_a.tl:383

local demands = tutorial_story_util.getCapitalCargoDemand("::/cargos/vegetables/vegetables.cargo")
base/content/mission/mission/tutorial/tutorial_story_branch_b.tl:484
local demands = tutorial_story_util.getCapitalCargoDemand("::/cargos/planks/planks.cargo")

getStoredEntity(taskKey : string) : Engine.Entity base/tealdef/mission/tutorial/tutorial_story_util.d.tl:12

Aufruf: tutorial_story_util.getStoredEntity(…)

Hinweise

Gibt die Entität zurück, die die store_entity-Aufgabe mit dem angegebenen Schlüssel gespeichert hat. Das Tutorial nutzt es für Ölplattform, Raffinerie, Fischgründe und Wald.

Parameter Typ Beschreibung
taskKey string Schlüssel der store_entity-Aufgabe.

Rückgabe Engine.Entity: Die Entität oder nil, wenn die Aufgabe fehlt, noch keine gespeichert hat oder die Entität nicht mehr existiert (ein Fehler wird einmal protokolliert).

Im Basisspiel verwendet: 8-mal in 3 Dateien

base/content/mission/mission/tutorial/tutorial_story.tl:324

addEntity(tutorial_story_util.getStoredEntity("a_store_oil_platform"))
base/content/mission/mission/tutorial/tutorial_story_branch_a.tl:53
return tutorial_story_util.getStoredEntity("a_store_oil_platform")
base/content/mission/mission/tutorial/tutorial_story_branch_b.tl:53
return tutorial_story_util.getStoredEntity("b_store_fishing_grounds")

toPosRadius(pos : Vec3f, radius : number) : MissionInterface.PosRadius base/tealdef/mission/tutorial/tutorial_story_util.d.tl:13

Aufruf: tutorial_story_util.toPosRadius(…)

Hinweise

Baut einen Bereich aus Position und Radius.

Parameter Typ Beschreibung
pos Vec3f Mittelpunkt.
radius number Radius in Metern.

Rückgabe MissionInterface.PosRadius: Bereich.

Im Basisspiel verwendet: 37-mal in 3 Dateien

base/content/mission/mission/tutorial/tutorial_story.tl:688

circle = tutorial_story_util.toPosRadius(tutorial_story_util.getTownDistrictCenterSafe(tutorial_story_util.getCapital(), api.type["enum"].LandUseType.RESIDENTIA
base/content/mission/mission/tutorial/tutorial_story_branch_a.tl:121
local townZone = tutorial_story_util.toPosRadius(tutorial_story_util.getTownDistrictCenterSafe(tutorial_story_util.getCapital(), api.type["enum"].LandUseType.CO
base/content/mission/mission/tutorial/tutorial_story_branch_b.tl:190
local townZone = tutorial_story_util.toPosRadius(tutorial_story_util.getTownDistrictCenterSafe(tutorial_story_util.getCapital(), api.type["enum"].LandUseType.IN

getBaseEdgesInDistrictType(landUseType : LandUseType) : {Engine.Entity} base/tealdef/mission/tutorial/tutorial_story_util.d.tl:14

Aufruf: tutorial_story_util.getBaseEdgesInDistrictType(…)

Hinweise

Gibt die Straßenkanten im Umkreis von TownDistrictRadius um den Mittelpunkt des Hauptstadt-Gebiets mit einem bestimmten Flächennutzungstyp zurück.

Parameter Typ Beschreibung
landUseType LandUseType Gebietstyp.

Rückgabe {Engine.Entity}: Kanten-Entitäten.

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/mission/mission/tutorial/tutorial_story.tl:697

proposalHandler = tutorial_story_util.makeStopConfig(tutorial_story_util.getBaseEdgesInDistrictType(api.type["enum"].LandUseType.RESIDENTIAL)),

makeStopConfig(edges : {Engine.Entity}) : BuildConstructionUtil.ProposalHandlerConfig base/tealdef/mission/tutorial/tutorial_story_util.d.tl:15

Aufruf: tutorial_story_util.makeStopConfig(…)

Hinweise

Baut eine Prüfung für Bauvorschläge, die nur Straßenhaltestellen auf den angegebenen Kanten zulässt.

Im Spiel Keine Haltestelle! · Keine Station! · Nur im markierten Gebiet möglich.Im Code: Not a Stop! · Not a Station! · MISSION_PROPOSAL_FEEDBACK_NOT_IN_OUTLINED_AREA

Parameter Typ Beschreibung
edges {Engine.Entity} Erlaubte Kanten.

Rückgabe BuildConstructionUtil.ProposalHandlerConfig: Konfiguration des Proposal-Handlers.

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/mission/mission/tutorial/tutorial_story.tl:697

proposalHandler = tutorial_story_util.makeStopConfig(tutorial_story_util.getBaseEdgesInDistrictType(api.type["enum"].LandUseType.RESIDENTIAL)),

getDepotPosition() : {number, number, number} base/tealdef/mission/tutorial/tutorial_story_util.d.tl:16

Aufruf: tutorial_story_util.getDepotPosition(…)

Hinweise

Gibt die Depotposition zurück, die die Aufgabe store_depot_position gespeichert hat.

Rückgabe {number, number, number}: Position {x, y, z} oder nil.

Im Basisspiel verwendet: 8-mal in 3 Dateien

base/content/mission/mission/tutorial/tutorial_story.tl:937

links = { entity_depot = { getLocation = function() : MissionInterface.PosRadius return { pos = tutorial_story_util.getDepotPosition(), radius = DepotRadius } e
base/content/mission/mission/tutorial/tutorial_story_branch_a.tl:258
entity_depot = { getLocation = function() : MissionInterface.PosRadius return { pos = tutorial_story_util.getDepotPosition(), radius = IndustryRadius } end },
base/content/mission/mission/tutorial/tutorial_story_branch_b.tl:349
entity_depot = { getLocation = function() : MissionInterface.PosRadius return { pos = tutorial_story_util.getDepotPosition(), radius = IndustryRadius } end }

getAllBusTypes() : {string : integer} base/tealdef/mission/tutorial/tutorial_story_util.d.tl:17

Aufruf: tutorial_story_util.getAllBusTypes(…)

Hinweise

Gibt jedes Landfahrzeugmodell zurück, das Passagiere befördert, jeweils mit dem Limit 10.

Rückgabe {string : integer}: Modellname -> 10.

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/mission/mission/tutorial/tutorial_story.tl:940

allowBuyVehicles = tutorial_story_util.getAllBusTypes() as {string : integer},

getAllTrucksWithClasses(allowedClasses : {string}) : {string : integer} base/tealdef/mission/tutorial/tutorial_story_util.d.tl:18

Aufruf: tutorial_story_util.getAllTrucksWithClasses(…)

Hinweise

Gibt jedes Landfahrzeugmodell zurück, das eine der angegebenen Güterklassen befördert, jeweils mit dem Limit 10.

Parameter Typ Beschreibung
allowedClasses {string} Güterklassen.

Rückgabe {string : integer}: Modellname -> 10.

Im Basisspiel verwendet: 2-mal in 2 Dateien

base/content/mission/mission/tutorial/tutorial_story_branch_a.tl:263

allowBuyVehicles = tutorial_story_util.getAllTrucksWithClasses({"UNIVERSAL", "GOODS"}) as {string: integer},
base/content/mission/mission/tutorial/tutorial_story_branch_b.tl:353
allowBuyVehicles = tutorial_story_util.getAllTrucksWithClasses({"UNIVERSAL", "FLATBED"}) as {string: integer},

makeDisabledListExcept(exceptions? : {string}) : {string} base/tealdef/mission/tutorial/tutorial_story_util.d.tl:19

Aufruf: tutorial_story_util.makeDisabledListExcept(…)

Hinweise

Gibt die Liste der Menü-IDs aus Bau- und Verwaltungsmenü zurück, die das Tutorial deaktiviert, ohne die Ausnahmen.

Parameter Typ Beschreibung
exceptions? {string} Menü-IDs, die aktiviert bleiben.

Rückgabe {string}: Menü-IDs.

Im Basisspiel verwendet: 35-mal in 3 Dateien

base/content/mission/mission/tutorial/tutorial_story.tl:395

disabled = tutorial_story_util.makeDisabledListExcept(),
base/content/mission/mission/tutorial/tutorial_story_branch_a.tl:147
disabled = tutorial_story_util.makeDisabledListExcept({
base/content/mission/mission/tutorial/tutorial_story_branch_b.tl:149
disabled = tutorial_story_util.makeDisabledListExcept({

getClosestIndustryToTown(conName : ResName, townEntity : Engine.Entity) : Engine.Entity base/tealdef/mission/tutorial/tutorial_story_util.d.tl:20

Aufruf: tutorial_story_util.getClosestIndustryToTown(…)

Hinweise

Gibt die Industrie eines Konstruktionstyps zurück, die einer Stadt am nächsten liegt. Eine Industrie im Stadtgebiet hat Vorrang.

Parameter Typ Beschreibung
conName ResName Konstruktionsdatei der Industrie.
townEntity Engine.Entity Stadt.

Rückgabe Engine.Entity: Industrie-Entität oder -1.

Im Basisspiel verwendet: 8-mal in 2 Dateien

base/content/mission/mission/tutorial/tasks/tutorial_init.tl:138

industryEntity = tutorial_story_util.getClosestIndustryToTown("::/industries/farm/farm.con", tutorial_story_util.getCapital())
base/content/mission/mission/tutorial/tutorial_story.tl:339
return tutorial_story_util.getClosestIndustryToTown("::/industries/fishing_grounds/fishing_grounds.con", tutorial_story_util.getCapital())

getIndustryToConnect() : Engine.Entity base/tealdef/mission/tutorial/tutorial_story_util.d.tl:21

Aufruf: tutorial_story_util.getIndustryToConnect(…)

Hinweise

Gibt die Industrie zurück, deren Straße die Init-Aufgabe des Tutorials entfernt hat.

Rückgabe Engine.Entity: Industrie-Entität oder -1.

Im Basisspiel verwendet: 21-mal in 3 Dateien

base/content/mission/mission/tutorial/tutorial_story.tl:323

addEntity(tutorial_story_util.getIndustryToConnect())
base/content/mission/mission/tutorial/tutorial_story_branch_a.tl:120
local industryZone = tutorial_story_util.makeAreaForIndustryRoadSegment(tutorial_story_util.getIndustryToConnect())
base/content/mission/mission/tutorial/tutorial_story_branch_b.tl:121
local industryZone = tutorial_story_util.makeAreaForIndustryRoadSegment(tutorial_story_util.getIndustryToConnect())

calcAnnualShipmentSafe(industryEntity : Engine.Entity) : integer base/tealdef/mission/tutorial/tutorial_story_util.d.tl:22

Aufruf: tutorial_story_util.calcAnnualShipmentSafe(…)

Hinweise

Gibt den Jahresversand einer Industrie zurück oder 0, wenn die Entität nil ist oder nicht mehr existiert.

Parameter Typ Beschreibung
industryEntity Engine.Entity Industrie-Entität.

Rückgabe integer: Jahresversand oder 0.

Im Basisspiel verwendet: 4-mal in 2 Dateien

base/content/mission/mission/tutorial/tutorial_story_branch_a.tl:395

return tutorial_story_util.calcAnnualShipmentSafe(tutorial_story_util.getIndustryToConnect()) > 0
base/content/mission/mission/tutorial/tutorial_story_branch_b.tl:496
return tutorial_story_util.calcAnnualShipmentSafe(getForest()) > 0

makeAreaForIndustry(entity : Engine.Entity, radius : number) : MissionInterface.PosRadius base/tealdef/mission/tutorial/tutorial_story_util.d.tl:23

Aufruf: tutorial_story_util.makeAreaForIndustry(…)

Hinweise

Baut einen Kreis an der Position einer Industriekonstruktion.

Parameter Typ Beschreibung
entity Engine.Entity Industrie-Entität.
radius number Radius in Metern.

Rückgabe MissionInterface.PosRadius: Bereich oder nil.

Im Basisspiel verwendet: 8-mal in 2 Dateien

base/content/mission/mission/tutorial/tutorial_story_branch_a.tl:190

tutorial_story_util.makeAreaForIndustry(tutorial_story_util.getIndustryToConnect(), IndustryRadius),
base/content/mission/mission/tutorial/tutorial_story_branch_b.tl:301
tutorial_story_util.makeAreaForIndustry(getForest(), IndustryRadius),

makeAreaForIndustryRoadSegment(entity : Engine.Entity) : MissionInterface.PosRadius base/tealdef/mission/tutorial/tutorial_story_util.d.tl:24

Aufruf: tutorial_story_util.makeAreaForIndustryRoadSegment(…)

Hinweise

Baut einen Kreis von 20 m am Anfang der ersten eingefrorenen Kante der Industriekonstruktion.

Parameter Typ Beschreibung
entity Engine.Entity Industrie-Entität.

Rückgabe MissionInterface.PosRadius: Bereich oder nil.

Im Basisspiel verwendet: 4-mal in 2 Dateien

base/content/mission/mission/tutorial/tutorial_story_branch_a.tl:120

local industryZone = tutorial_story_util.makeAreaForIndustryRoadSegment(tutorial_story_util.getIndustryToConnect())
base/content/mission/mission/tutorial/tutorial_story_branch_b.tl:121
local industryZone = tutorial_story_util.makeAreaForIndustryRoadSegment(tutorial_story_util.getIndustryToConnect())

constructPolygonForWaterIndustry(entity : Engine.Entity) : PolygonUtil.Polygon base/tealdef/mission/tutorial/tutorial_story_util.d.tl:25

Aufruf: tutorial_story_util.constructPolygonForWaterIndustry(…)

Hinweise

Baut ein konvexes Polygon um das Gewässer einer Wasserindustrie, 200 m weit aufs Land erweitert.

Parameter Typ Beschreibung
entity Engine.Entity Industrie-Entität.

Rückgabe PolygonUtil.Polygon: Polygon.

Im Basisspiel verwendet: 2-mal in 2 Dateien

base/content/mission/mission/tutorial/tutorial_story_branch_a.tl:91

WaterPolygonCache = tutorial_story_util.constructPolygonForWaterIndustry(industry)
base/content/mission/mission/tutorial/tutorial_story_branch_b.tl:91
WaterPolygonCache = tutorial_story_util.constructPolygonForWaterIndustry(industry)

hasAnySingleVehicleSupplyLine(pos1 : {MissionInterface.PosRadius}, pos2 : {MissionInterface.PosRadius}, cargoTypeRes : string) : boolean base/tealdef/mission/tutorial/tutorial_story_util.d.tl:26

Aufruf: tutorial_story_util.hasAnySingleVehicleSupplyLine(…)

Hinweise

Gibt an, ob es zwischen einem der Start- und einem der Zielbereiche eine Straßenlinie des Spielers mit genau einem Fahrzeug gibt, das die Güter befördern kann.

Parameter Typ Beschreibung
pos1 {MissionInterface.PosRadius} Startbereiche.
pos2 {MissionInterface.PosRadius} Zielbereiche.
cargoTypeRes string Gütertyp-Ressource.

Rückgabe boolean: true, wenn es eine solche Linie gibt.

Im Basisspiel verwendet: 2-mal in 2 Dateien

base/content/mission/mission/tutorial/tutorial_story_branch_a.tl:921

return tutorial_story_util.hasAnySingleVehicleSupplyLine(
base/content/mission/mission/tutorial/tutorial_story_branch_b.tl:1072
return tutorial_story_util.hasAnySingleVehicleSupplyLine(