industry_util¶
Quelle: base/tealdef/gui/main/industry_util.d.tl
Hinweise
Helfer für die Industrie-Oberfläche: Produktionsboni (Arbeiterbonus und Booster-Regeln), Eingangs- und
Ausgangsdaten pro Regel, Produktionszahlen, Satelliten-Slots, Prüfung von Verbindungen, das Entfernen
von Industrien und die Suche nach Lieferanten und Abnehmern. Du lädst es mit
ug_require "/gui/main/industry_util.tl".
IndustryUtil¶
record global base/tealdef/gui/main/industry_util.d.tl:3
global record IndustryUtil
Laden: local industry_util = ug_require "::/gui/main/industry_util.tl" as IndustryUtil
Hinweise
Helfer, die Bestandslisten und Regeln von Industrien für die Oberfläche lesen.
Funktionen
getPersonCapacityBoostProgress(entity : Engine.Entity) : number base/tealdef/gui/main/industry_util.d.tl:4
Aufruf: industry_util.getPersonCapacityBoostProgress(…)
Hinweise
Gibt zurück, wie nah eine Industrie am Arbeiterbonus ist, von 0 bis 1.
Rückgabe number: Besetzte Arbeitsplätze geteilt durch die Kapazität, abgebildet von 0..RequiredWorkersFractionForBoost auf 0..1; ohne PERSON_CAPACITY-Komponente 0.
Im Basisspiel verwendet: 3-mal in 2 Dateien
base/content/game_mechanics/game_mechanics/subventions/deliver_workers/deliver_workers.script.tl:245
value = not entity_util.entityChanged0(data.to) and industry_util.getPersonCapacityBoostProgress(data.to.entity) or 0.0,
mods/release/urbangames_campaign_mission_06/content/subventions/subventions/deliver_visitors/deliver_visitors.script.tl:270
isPersonCapacityBoosted(entity : Engine.Entity) : boolean base/tealdef/gui/main/industry_util.d.tl:5
Aufruf: industry_util.isPersonCapacityBoosted(…)
Hinweise
Sagt, ob eine Industrie genug Arbeiter für den Arbeiterbonus hat (industry_productivity_util.isIndustryWorkersBoosted).
Rückgabe boolean
Im Basisspiel verwendet: 5-mal in 3 Dateien
base/content/game_mechanics/game_mechanics/subventions/deliver_workers/deliver_workers.script.tl:125
if not industry_util.isPersonCapacityBoosted(entity) and industry_util.isIndustryConnected(entity) then
base/content/mission/mission/tasks/transport_cargo/industry_boosted.tl:32
mods/release/urbangames_campaign_mission_06/content/subventions/subventions/deliver_visitors/deliver_visitors.script.tl:126
getPersonCapacityBoost(entity : Engine.Entity) : number base/tealdef/gui/main/industry_util.d.tl:6
Aufruf: industry_util.getPersonCapacityBoost(…)
Hinweise
Gibt den Produktivitätsfaktor einer Industrie durch ihre Arbeiter zurück (industry_productivity_util.getIndustryProductivity).
Rückgabe number
isEntityBoosted(boosterIndex : integer, entity : Engine.Entity, excludePersons? : boolean) : boolean base/tealdef/gui/main/industry_util.d.tl:8
Aufruf: industry_util.isEntityBoosted(…)
Hinweise
Sagt, ob die n-te Booster-Regel einer Industrie aktiv ist.
| Parameter | Typ | Beschreibung |
|---|---|---|
boosterIndex |
integer |
Index unter den Booster-Regeln der Bestandsliste, ab 1. |
entity |
Engine.Entity |
Entität mit einer STOCK_LIST-Komponente. |
excludePersons? |
boolean |
Bei true kommt false zurück, wenn es diese Booster-Regel nicht gibt; sonst wird auf isPersonCapacityBoosted zurückgegriffen. |
Rückgabe boolean
Im Basisspiel verwendet: 2-mal in 2 Dateien
base/content/gui/gui/entity_window/industry/industry_eow.script.tl:558
base/content/mission/mission/tasks/transport_cargo/industry_boosted.tl:27
getIndustryBoost(Engine.Entity, boolean, ?integer) : IndustryBoost base/tealdef/gui/main/industry_util.d.tl:18
Aufruf: industry_util.getIndustryBoost(…)
Hinweise
Berechnet den Produktionsbonus einer Industrie aus ihren Booster-Regeln und optional ihren Arbeitern.
| Parameter | Typ | Beschreibung |
|---|---|---|
#1 |
Engine.Entity |
Entität mit einer STOCK_LIST-Komponente. |
#2 |
boolean |
Bei true ist der Ausgangswert der Produktivitätsfaktor der Arbeiter statt 1. |
#3 |
?integer |
Wenn gesetzt, werden nur Regeln bis zu diesem Index geprüft. |
Rückgabe IndustryBoost
getStockListInputOutputData(Engine.Entity, boolean, boolean, integer) : {StockListCargoData} base/tealdef/gui/main/industry_util.d.tl:29
Aufruf: industry_util.getStockListInputOutputData(…)
Hinweise
Listet die Eingangs- oder Ausgangsgüterarten einer Bestandsliste mit den Regeln auf, die sie verwenden.
| Parameter | Typ | Beschreibung |
|---|---|---|
#1 |
Engine.Entity |
Entität mit einer STOCK_LIST-Komponente. |
#2 |
boolean |
true für Eingänge, false für Ausgänge. |
#3 |
boolean |
true nur für Booster-Regeln, false nur für normale Regeln, nil für beide. |
#4 |
integer |
Höchstzahl der zurückgegebenen Güterarten; 0 für keine Grenze. |
Rückgabe {StockListCargoData}
getIndustryProductionData(entity : Engine.Entity, input : boolean, booster : boolean, index : integer, isIndustry : boolean) : ProductionData base/tealdef/gui/main/industry_util.d.tl:36
Aufruf: industry_util.getIndustryProductionData(…)
Hinweise
Gibt den aktuellen und den maximalen Verbrauch oder die Produktion pro Jahr für eine Eingangs- oder Ausgangsgüterart zurück.
| Parameter | Typ | Beschreibung |
|---|---|---|
entity |
Engine.Entity |
Entität mit einer STOCK_LIST-Komponente. |
input |
boolean |
true für einen Eingang, false für einen Ausgang. |
booster |
boolean |
Auswahl der Regeln wie bei getStockListInputOutputData. |
index |
integer |
Index der Güterart im Ergebnis von getStockListInputOutputData, ab 1. |
isIndustry |
boolean |
Bei true wird api.res.getBaseConfig().locations.industry.industryProductivity angewendet. |
Rückgabe ProductionData: Die Produktionsdaten oder nil, wenn es an index keine Güterart gibt.
Im Basisspiel verwendet: 3-mal in 3 Dateien
base/content/gui/gui/entity_window/industry/industry_eow.script.tl:65
productionData = industry_util.getIndustryProductionData(params.entity, params.isInput, true, inputOutputData.adjustedIndex, params.isIndustry)
base/content/gui/gui/entity_window/industry_react_util.tl:306
ret.productionData = industry_util.getIndustryProductionData(params.entity, params.isInput, false, ret.inputOutputData.adjustedIndex, params.isIndustry)
base/content/gui/gui/statistics/statistic_industries.tl:197
getSatellitesNumAndMax(Engine.Entity) : SatellitesNumAndMax base/tealdef/gui/main/industry_util.d.tl:42
Aufruf: industry_util.getSatellitesNumAndMax(…)
Hinweise
Gibt die belegten und gesamten Auto-Fill-Slots der Konstruktion zurück, zu der die Entität gehört.
Rückgabe SatellitesNumAndMax
createInputOutputData(RuleInputOutputCargoParams) : RuleInputOutputData base/tealdef/gui/main/industry_util.d.tl:60
Aufruf: industry_util.createInputOutputData(…)
Hinweise
Gibt den Inhalt eines Eingangs- oder Ausgangsplatzes einer Industrieregel für die Anzeige zurück.
Rückgabe RuleInputOutputData
Details
Bei normalen Regeln von Konstruktionen mit Satelliten-Slots ist Eingangsplatz 1 die Anzahl der
Satelliten. Bei Booster-Regeln ist Ausgangsplatz 1 der Bonus in Prozent. Die anderen Plätze
verschieben sich in diesen Fällen um eins. Verwendet wird nur der erste Eingangssatz einer Regel.
Im Basisspiel verwendet: 4-mal in 3 Dateien
base/content/gui/gui/entity_window/industry/industry_eow.script.tl:62
base/content/gui/gui/entity_window/industry_react_util.tl:304
base/content/gui/gui/statistics/statistic_industries.tl:189
getNumCargosOfRule(Engine.Entity, integer, boolean) : integer base/tealdef/gui/main/industry_util.d.tl:62
Aufruf: industry_util.getNumCargosOfRule(…)
Hinweise
Gibt die Anzahl der Eingangs- oder Ausgangsplätze einer Regel zurück, einschließlich des Satelliten-Eingangs oder des Bonus-Ausgangs.
| Parameter | Typ | Beschreibung |
|---|---|---|
#1 |
Engine.Entity |
Entität mit einer STOCK_LIST-Komponente. |
#2 |
integer |
Regelindex, ab 1. |
#3 |
boolean |
true, um Eingänge zu zählen, false für Ausgänge. |
Rückgabe integer: Anzahl der Plätze, mindestens 1.
Im Basisspiel verwendet: 4-mal in 2 Dateien
base/content/gui/gui/entity_window/industry_react_util.tl:216
base/content/gui/gui/statistics/statistic_industries.tl:187
getSortedOutputCargoTypes(entity : Engine.Entity) : {CargoTypeId} base/tealdef/gui/main/industry_util.d.tl:64
Aufruf: industry_util.getSortedOutputCargoTypes(…)
Hinweise
Gibt die Ausgangsgüterarten aller Regeln einer Industrie zurück, nach ID sortiert.
| Parameter | Typ | Beschreibung |
|---|---|---|
entity |
Engine.Entity |
Industrie-Entität (mit einer INDUSTRY-Komponente). |
Rückgabe {CargoTypeId}
Im Basisspiel verwendet: 4-mal in 2 Dateien
base/content/gui/gui/entity_window/town/town.tl:392
base/content/gui/gui/statistics/statistic_industries.tl:153
calcAnnualShipment(entity : Engine.Entity) : integer base/tealdef/gui/main/industry_util.d.tl:66
Aufruf: industry_util.calcAnnualShipment(…)
Hinweise
Gibt die Güter zurück, die pro Jahr aus der Bestandsliste einer Industrie abtransportiert werden.
| Parameter | Typ | Beschreibung |
|---|---|---|
entity |
Engine.Entity |
Industrie-Entität. |
Rückgabe integer: Güter pro Jahr oder nil, wenn die Industrie keine Regeln hat.
Im Basisspiel verwendet: 6-mal in 4 Dateien
base/content/gui/gui/statistics/statistic_industries.tl:330
base/content/mission/mission/tutorial/tutorial_story_util.tl:299
mods/release/urbangames_campaign_mission_01/content/mission/mission/mission_story.tl:1126
mods/release/urbangames_campaign_mission_04/content/mission/mission/mission_story.tl:251
isIndustryConnected(entity : Engine.Entity) : boolean base/tealdef/gui/main/industry_util.d.tl:68
Aufruf: industry_util.isIndustryConnected(…)
Hinweise
Sagt anhand von api.engine.util.stock.getCargoShippedPerYear ihrer Bestandsliste, ob eine Industrie Güter abtransportiert.
| Parameter | Typ | Beschreibung |
|---|---|---|
entity |
Engine.Entity |
Industrie-Entität. |
Rückgabe boolean
Details
Gelieferte Güter (getCargoDeliveredPerYear) werden nur bei Regeln geprüft, deren output nil
ist.
removeIndustries(industriesToRemove : {Engine.Entity}, followupFn : function(success : boolean), doDust : boolean) base/tealdef/gui/main/industry_util.d.tl:70
Aufruf: industry_util.removeIndustries(…)
Hinweise
Entfernt Industrien, indem es Bauvorschläge schickt, die ihre Konstruktionen entfernen, und danach die zugehörigen Straßenabschnitte entfernt.
| Parameter | Typ | Beschreibung |
|---|---|---|
industriesToRemove |
{Engine.Entity} |
Industrie-Entitäten. |
followupFn |
function(success : boolean) |
Wird mit dem Erfolg des letzten Befehls aufgerufen oder sofort mit true, wenn es nichts zu entfernen gibt. |
doDust |
boolean |
Geht an api.cmd.makeWorldBuildProposalCmd (Abrissstaub anzeigen). |
Im Basisspiel verwendet: 2-mal in 2 Dateien
base/content/game_mechanics/game_mechanics/industries/industries.script.tl:222
base/content/gui/gui/map_editor/map_editor.tl:787
forEachMatchingStocklist(stockList : Engine.Component.StockList, stockListType : StockListType, callback : function(Engine.Entity, CargoTypeId)) : {CargoTypeId : boolean} base/tealdef/gui/main/industry_util.d.tl:73
Aufruf: industry_util.forEachMatchingStocklist(…)
return input/output cargo types (depending on argument stockListType)
Hinweise
Ruft callback für jede Industrie auf, die für eine der Güterarten der angegebenen Bestandsliste einen Bestand der Gegenseite hat.
| Parameter | Typ | Beschreibung |
|---|---|---|
stockList |
Engine.Component.StockList |
Bestandslisten-Komponente der betrachteten Industrie. |
stockListType |
StockListType |
InputStock findet Lieferanten (Industrien mit passendem Ausgangsbestand); OutputStock findet Abnehmer (Industrien mit passendem Eingangsbestand). |
callback |
function(Engine.Entity, CargoTypeId) |
Wird mit der gefundenen Industrie-Entität und der Güterart aufgerufen. |
Rückgabe {CargoTypeId : boolean}: Menge der Eingangs- oder Ausgangsgüterarten von stockList.
Im Basisspiel verwendet: 5-mal in 3 Dateien
base/content/game_mechanics/game_mechanics/subventions/deliver_cargo/deliver_cargo.script.tl:418
base/content/gui/gui/entity_window/industry/industry.tl:228
base/content/gui/gui/entity_window/industry/industry_eow.script.tl:297
getFailedExpansionTriangles(proposal : Proposal, collidingSubconstructions : {integer}) : {{Vec2f, Vec2f, Vec2f}} base/tealdef/gui/main/industry_util.d.tl:77
Aufruf: industry_util.getFailedExpansionTriangles(…)
Hinweise
Gibt die Bodendreiecke (x/y) der kollidierenden Unterkonstruktionen eines Konstruktionsvorschlags zurück, um zu zeichnen, wo ein Ausbau gescheitert ist.
| Parameter | Typ | Beschreibung |
|---|---|---|
proposal |
Proposal |
Vorschlag, dessen erste hinzugefügte Konstruktion geprüft wird. |
collidingSubconstructions |
{integer} |
Indizes (ab 0) der kollidierenden Unterkonstruktionen. |
Rückgabe {{Vec2f, Vec2f, Vec2f}}
Details
Verwendet die Viereck-Punktwolken- und Quader-Collider der Unterkonstruktion; findet sich keiner, die Grundstücksdreiecke der Unterkonstruktion.
Im Basisspiel verwendet: 2-mal in 2 Dateien
base/content/game_mechanics/game_mechanics/industries/industries.script.tl:22
base/content/gui/gui/entity_window/industry/industry.tl:105
forEachTownSupplier(townEntity : Engine.Entity, callback : function(Engine.Entity, CargoTypeId)) base/tealdef/gui/main/industry_util.d.tl:79
Aufruf: industry_util.forEachTownSupplier(…)
Hinweise
Ruft callback für jeden Ausgangsbestand einer Industrie auf, für dessen Güterart die Stadt ein Versorgungslimit hat.
| Parameter | Typ | Beschreibung |
|---|---|---|
townEntity |
Engine.Entity |
Stadt-Entität. |
callback |
function(Engine.Entity, CargoTypeId) |
Wird mit der Industrie-Entität und der Güterart aufgerufen. |
Im Basisspiel verwendet: 3-mal in 2 Dateien
base/content/game_mechanics/game_mechanics/subventions/deliver_cargo_town/deliver_cargo_town.script.tl:511
industry_util.forEachTownSupplier(data.townEntity.entity, function(industryEntity : Engine.Entity, cargoType : CargoTypeId)
base/content/gui/gui/entity_window/town/town.tl:338
IndustryUtil.IndustryBoost¶
record base/tealdef/gui/main/industry_util.d.tl:10
record IndustryBoost
Hinweise
Produktionsbonus einer Industrie, wie getIndustryBoost ihn liefert.
Im Basisspiel verwendet: 2-mal in 1 Datei
base/content/gui/gui/main/industry_util.tl:42
Felder
| Name | Typ | Beschreibung |
|---|---|---|
boost |
number |
Gesamter Produktionsfaktor (Arbeiterbonus, falls angefordert, multipliziert mit 1 + boostFactor jeder aktiven Booster-Regel). |
ruleBoosts |
{integer : RuleBoost} |
Zustände der Booster-Regeln nach Regelindex (ab 1). Regeln ohne Booster haben keinen Eintrag. |
IndustryUtil.IndustryBoost.RuleBoost¶
record base/tealdef/gui/main/industry_util.d.tl:11
record RuleBoost
Hinweise
Zustand einer Booster-Regel.
Im Basisspiel verwendet: 2-mal in 1 Datei
base/content/gui/gui/main/industry_util.tl:49
Felder
IndustryUtil.StockListCargoData¶
record base/tealdef/gui/main/industry_util.d.tl:20
record StockListCargoData
Hinweise
Eine Eingangs- oder Ausgangsgüterart einer Bestandsliste mit den Regeln, die sie verwenden, wie getStockListInputOutputData sie liefert.
Im Basisspiel verwendet: 2-mal in 1 Datei
base/content/gui/gui/main/industry_util.tl:170
Felder
| Name | Typ | Beschreibung |
|---|---|---|
cargoType |
CargoTypeId |
Güterart-ID. |
rulesData |
{RuleInputOutputIndex} |
Regeln, die die Güterart verwenden. |
IndustryUtil.StockListCargoData.RuleInputOutputIndex¶
record base/tealdef/gui/main/industry_util.d.tl:21
record RuleInputOutputIndex
Hinweise
Verweis auf eine Regel, die die Güterart verwendet.
Felder
IndustryUtil.ProductionData¶
record base/tealdef/gui/main/industry_util.d.tl:31
record ProductionData
Hinweise
Produktion oder Verbrauch einer Güterart, wie getIndustryProductionData sie liefert.
Im Basisspiel verwendet: 4-mal in 3 Dateien
base/content/gui/gui/entity_window/industry/industry_eow.script.tl:59
base/content/gui/gui/entity_window/industry_react_util.tl:298
base/content/gui/gui/main/industry_util.tl:310
Felder
| Name | Typ | Beschreibung |
|---|---|---|
cargoTypeId |
CargoTypeId |
Güterart-ID. |
actual |
number |
Aktueller Verbrauch oder aktuelle Produktion pro Jahr. nil, wenn sich der Ausgang auf Regeln verteilt, die ohne Eingänge produzieren. |
total |
number |
Maximaler Verbrauch oder maximale Produktion pro Jahr, einschließlich der Boni und der Industrieproduktivität aus der Basiskonfiguration. |
IndustryUtil.SatellitesNumAndMax¶
record base/tealdef/gui/main/industry_util.d.tl:38
record SatellitesNumAndMax
Hinweise
Belegte und gesamte Auto-Fill-Slots (Satelliten) der Konstruktion einer Industrie.
Im Basisspiel verwendet: 1-mal in 1 Datei
base/content/gui/gui/main/industry_util.tl:381
Felder
| Name | Typ | Beschreibung |
|---|---|---|
numSatellites |
integer |
Anzahl der belegten Slots. |
maxSatellites |
integer |
Gesamtzahl der Slots. |
IndustryUtil.RuleInputOutputCargoParams¶
record base/tealdef/gui/main/industry_util.d.tl:44
record RuleInputOutputCargoParams
Hinweise
Parameter von createInputOutputData.
Im Basisspiel verwendet: 4-mal in 3 Dateien
base/content/gui/gui/entity_window/industry/industry_eow.script.tl:56
local RuleInputOutputWidget = react.RegisterRecipe("RuleInputOutputWidget", function(params : IndustryUtil.RuleInputOutputCargoParams) : TreeNodeId
base/content/gui/gui/entity_window/industry_react_util.tl:295
local ProductionRuleInputOutputWidget = react.RegisterRecipe("ProductionRuleInputOutputWidget", function(params : IndustryUtil.RuleInputOutputCargoParams) : Tre
base/content/gui/gui/main/industry_util.tl:410
Felder
| Name | Typ | Beschreibung |
|---|---|---|
entity |
Engine.Entity |
Entität mit einer STOCK_LIST-Komponente. |
ruleNumber |
integer |
Index der Regel, ab 1. |
isInput |
boolean |
true für einen Eingangsplatz der Regel, false für einen Ausgangsplatz. |
index |
integer |
Index des Platzes, ab 1, gezählt wie in getNumCargosOfRule. |
isIndustry |
boolean |
|
onlyOneProductionLine |
boolean |
IndustryUtil.RuleInputOutputData¶
record base/tealdef/gui/main/industry_util.d.tl:52
record RuleInputOutputData
Hinweise
Inhalt eines Eingangs- oder Ausgangsplatzes einer Regel, wie createInputOutputData ihn liefert.
Im Basisspiel verwendet: 3-mal in 3 Dateien
base/content/gui/gui/entity_window/industry/industry_eow.script.tl:58
base/content/gui/gui/entity_window/industry_react_util.tl:297
base/content/gui/gui/main/industry_util.tl:410
Felder
| Name | Typ | Beschreibung |
|---|---|---|
plotsInput |
boolean |
true, wenn der Platz der Satelliten-Eingang (Parzellen) ist; count ist dann die Anzahl der belegten Satelliten. |
cargoType |
CargoTypeId |
Güterart-ID des Platzes. |
count |
integer |
Menge der Güterart pro Regeldurchlauf oder, beim Parzellen-Eingang, die Anzahl der belegten Satelliten. |
boostFractionOutputText |
string |
Beim ersten Ausgangsplatz einer Booster-Regel gesetzt, der Bonus als Text, z. B. "+20%". |
adjustedIndex |
integer |
Index des Platzes, nachdem der Parzellen-Eingang oder der Bonusplatz übersprungen wurde. |
fraction |
number |
Bei Eingängen der Fortschritt (0..1) des aktuellen Regeldurchlaufs; nil, wenn die Regel nicht läuft. |