Zum Inhalt

entity_util

Quelle: base/tealdef/scripts/entity_util.d.tl

Hinweise

Typen von /scripts/entity_util.tl (EntityUtil): Helfer, die sich eine Entität zusammen mit ihrer Revision merken (so erkennt ein Skript später, ob sie sich geändert hat oder entfernt wurde), dazu Abfragen von Besitzer und Position.

EntityUtil

record global base/tealdef/scripts/entity_util.d.tl:3

global record EntityUtil

Laden: local entity_util = ug_require "::/scripts/entity_util.tl" as EntityUtil

Hinweise

Entitäts-Helfer, die ug_require "/scripts/entity_util.tl" zurückgibt.

Funktionen

makeEntityAndRevision(Engine.Entity) : EntityAndRevision base/tealdef/scripts/entity_util.d.tl:9

Aufruf: entity_util.makeEntityAndRevision(…)

Hinweise

Speichert eine Entität mit ihrer vollständigen aktuellen Revision.

Rückgabe EntityAndRevision: Der Record oder nil, wenn die Entität nicht existiert.

Im Basisspiel verwendet: 54-mal in 31 Dateien

base/content/game_mechanics/game_mechanics/company/company.script.tl:151

resultEntity = entity_util.makeEntityAndRevision(resultEntities[1][1]),
base/content/game_mechanics/game_mechanics/company/company_util.tl:255
local companyEntityAndRevision = entity_util.makeEntityAndRevision(companyEntity)
base/content/game_mechanics/game_mechanics/emission/emission_legacy_util.tl:30
ecoLevels[k] = {entity_util.makeEntityAndRevision(k), v}
base/content/game_mechanics/game_mechanics/emission/emissions.script.tl:187
local entityAndRev = entity_util.makeEntityAndRevision(entity)
base/content/game_mechanics/game_mechanics/fun_elements/blimp_util.tl:148
blimpData.blimpEntity = entity_util.makeEntityAndRevision(blimpEntity)
base/content/game_mechanics/game_mechanics/fun_elements/rocket_util.tl:38
rocketData.rocketEntity = entity_util.makeEntityAndRevision(rocketEntity)
… und 25 weitere Dateien.

makeEntityAndRevision0(Engine.Entity) : EntityAndRevision base/tealdef/scripts/entity_util.d.tl:10

Aufruf: entity_util.makeEntityAndRevision0(…)

Hinweise

Speichert eine Entität nur mit der ersten Revisionsnummer (die beiden anderen werden 0).

Rückgabe EntityAndRevision: Der Record oder nil, wenn die Entität nicht existiert.

Details

Gehört zu entityChanged0, das nur die erste Revisionsnummer vergleicht.

Im Basisspiel verwendet: 34-mal in 8 Dateien

base/content/game_mechanics/game_mechanics/celebrations/celebrations.script.tl:189

local entityAndRev0 = entity_util.makeEntityAndRevision0(townBuildingComponent.town)
base/content/game_mechanics/game_mechanics/company/company.script.tl:441
local townEntity = entity_util.makeEntityAndRevision0(param.townEntity)
base/content/game_mechanics/game_mechanics/company/company_legacy_util.tl:49
pendingProspection.townEntity = entity_util.makeEntityAndRevision0(oldTownEntity)
base/content/game_mechanics/game_mechanics/notifications/notifications.script.tl:145
entities = {entity_util.makeEntityAndRevision0(lineEntity)},
base/content/gui/gui/construction/construction_react_util.tl:1469
local townEntity = entity_util.makeEntityAndRevision0(entity)
base/content/mission/mission/tasks/utility/store_entity.tl:8
local snapshot = entity_util.makeEntityAndRevision0(entity)
… und 2 weitere Dateien.

makeEntityAndRevision0Array({Engine.Entity}) : {EntityUtil.EntityAndRevision} base/tealdef/scripts/entity_util.d.tl:11

Aufruf: entity_util.makeEntityAndRevision0Array(…)

Hinweise

Wendet makeEntityAndRevision0 auf jede Entität an und gibt die Records der existierenden zurück.

Rückgabe {EntityUtil.EntityAndRevision}

Im Basisspiel verwendet: 6-mal in 3 Dateien

base/content/game_mechanics/game_mechanics/notifications/notifications.script.tl:206

entities = entity_util.makeEntityAndRevision0Array(entitiesAndProblem[1]),
base/content/gui/gui/line_vehicle_mgmt/vehicle_store_window.tl:4485
return params.vehicleEntities and entity_util.makeEntityAndRevision0Array(params.vehicleEntities) or nil
mods/release/urbangames_campaign_mission_05/content/mission/mission/tasks/drilling/drilling.tl:20
entities = entity_util.makeEntityAndRevision0Array(getEntititesForNotification(entity)),

entityEquals(EntityAndRevision, EntityAndRevision) : boolean base/tealdef/scripts/entity_util.d.tl:12

Aufruf: entity_util.entityEquals(…)

Hinweise

True, wenn beide Records dieselbe Entitäts-ID und dieselbe erste Revisionsnummer haben.

Rückgabe boolean

Im Basisspiel verwendet: 6-mal in 6 Dateien

base/content/game_mechanics/game_mechanics/company/company.script.tl:491

if ecoLevel and ecoLevel[1] and entity_util.entityEquals(ecoLevel[1], entityAndRev) then
base/content/game_mechanics/game_mechanics/company/company_util.tl:246
if entity_util.entityEquals(companyState.companyEntity, companyEntityAndRevision) then
base/content/game_mechanics/game_mechanics/emission/emissions.script.tl:189
if ecoLevel and entity_util.entityEquals(ecoLevel[1], entityAndRev) then
base/content/game_mechanics/game_mechanics/towns/town_util.tl:209
if entity_util.entityEquals(townState.townEntity, townEntityAndRevision) then
base/content/gui/gui/entity_window/industry/industry.tl:31
if ecoLevel and ecoLevel[1] and entity_util.entityEquals(ecoLevel[1], entityAndRev) then
base/content/industries/industry_workers.script.tl:63
if entity_util.entityEquals(pendingVisitor.entity, currentVisitor.entity) then

entityChanged0(EntityAndRevision) : boolean base/tealdef/scripts/entity_util.d.tl:13

Aufruf: entity_util.entityChanged0(…)

Hinweise

True, wenn die Entität nicht mehr existiert oder ihre erste Revisionsnummer seit dem Speichern gestiegen ist.

Rückgabe boolean

Im Basisspiel verwendet: 87-mal in 43 Dateien

base/content/game_mechanics/game_mechanics/celebrations/celebration_react_util.tl:202

if celebration.entity and entity_util.entityChanged0(celebration.entity) then
base/content/game_mechanics/game_mechanics/company/company.script.tl:202
proposal = api.engine.util.proposal.makeIndustrySpawnProposal(industryType, (not entity_util.entityChanged0(pending.townEntity)) and pending.townEntity.entity o
base/content/game_mechanics/game_mechanics/company/company_notification_greenify.sim.script.tl:6
if notificationParams.constructionEntity and not entity_util.entityChanged0(notificationParams.constructionEntity) then
base/content/game_mechanics/game_mechanics/company/company_notification_marketing.sim.script.tl:6
if notificationParams.townEntity and not entity_util.entityChanged0(notificationParams.townEntity) then
base/content/game_mechanics/game_mechanics/company/company_notification_prospection.sim.script.tl:5
if notificationParams.townEntity and not entity_util.entityChanged0(notificationParams.townEntity) then
base/content/game_mechanics/game_mechanics/notifications/notification_util.tl:444
and not entity_util.entityChanged0(entityAndRevision))
… und 37 weitere Dateien.

entityChanged(EntityAndRevision) : boolean base/tealdef/scripts/entity_util.d.tl:14

Aufruf: entity_util.entityChanged(…)

Hinweise

True, wenn die Entität nicht mehr existiert oder ihre erste oder zweite Revisionsnummer seit dem Speichern gestiegen ist.

Rückgabe boolean

Im Basisspiel verwendet: 2-mal in 2 Dateien

base/content/gui/gui/entity_window/bridge_and_tunnel.tl:199

if not entity_util.entityChanged({ entity = entityRevision[1], revision = entityRevision[2] }) then
mods/release/urbangames_campaign_mission_03/content/mission/mission/mission_story.tl:90
if not entity_util.entityChanged(entityAndRev) and getOasisLevel(entityAndRev.entity) == 1 then

getPosition(Engine.Entity) : Vec3f base/tealdef/scripts/entity_util.d.tl:15

Aufruf: entity_util.getPosition(…)

Hinweise

Mittelpunkt der Bounding Box der Entität (Komponente BOUNDING_VOLUME).

Rückgabe Vec3f: Der Mittelpunkt oder nil, wenn die Entität kein Bounding Volume hat.

Im Basisspiel verwendet: 54-mal in 26 Dateien

base/content/game_mechanics/game_mechanics/achievements/achievements.script.tl:412

local position = entity_util.getPosition(headCarriage)
base/content/game_mechanics/game_mechanics/fun_elements/blimp_util.tl:128
local origin = entity_util.getPosition(townEntity)
base/content/game_mechanics/game_mechanics/fun_elements/fireworks.script.tl:152
local townPostion = entity_util.getPosition(townEntity)
base/content/game_mechanics/game_mechanics/fun_elements/ufo_util.tl:122
local centerPos = entity_util.getPosition(selectedField)
base/content/game_mechanics/game_mechanics/subventions/deliver_cargo/deliver_cargo.script.tl:74
local targetIndustryPosition = entity_util.getPosition(industry.stockList)
base/content/game_mechanics/game_mechanics/subventions/deliver_cargo_town/deliver_cargo_town.script.tl:115
local targetTownPosition = entity_util.getPosition(townEntityAndCargoTypeId[1])
… und 20 weitere Dateien.

sameRevision(Engine.Revision, Engine.Revision) : boolean base/tealdef/scripts/entity_util.d.tl:16

Aufruf: entity_util.sameRevision(…)

Hinweise

True, wenn alle drei Revisionsnummern gleich sind.

Rückgabe boolean

getEntityName(Engine.Entity) : string base/tealdef/scripts/entity_util.d.tl:17

Aufruf: entity_util.getEntityName(…)

Hinweise

Anzeigename der Entität (api.engine.util.getEntityName).

Rückgabe string

Im Basisspiel verwendet: 34-mal in 23 Dateien

base/content/game_mechanics/game_mechanics/celebrations/celebration_react_util.tl:31

townName = entity_util.getEntityName(target.entity)
base/content/game_mechanics/game_mechanics/company/company_notification_greenify.sim.script.tl:7
old.constructionEntityName = entity_util.getEntityName(notificationParams.constructionEntity.entity)
base/content/game_mechanics/game_mechanics/company/company_notification_marketing.sim.script.tl:7
old.townEntityName = entity_util.getEntityName(notificationParams.townEntity.entity)
base/content/game_mechanics/game_mechanics/company/company_notification_prospection.sim.script.tl:6
old.townEntityName = entity_util.getEntityName(notificationParams.townEntity.entity)
base/content/game_mechanics/game_mechanics/notifications/notification_legacy_util.tl:99
simParams.mapping[entityAndRev[1]] = entity_util.getEntityName(entityAndRev[1])
base/content/game_mechanics/game_mechanics/notifications/types/cargo_rtc_warning.sim.script.tl:17
currentValues = {entity_util.getEntityName(entityAndRev.entity), vehiclesWithRoundTrips[entityAndRev.entity]}
… und 17 weitere Dateien.

getPlayerOwned(Engine.Entity) : Engine.Component.PlayerOwned base/tealdef/scripts/entity_util.d.tl:18

Aufruf: entity_util.getPlayerOwned(…)

Hinweise

Die Komponente PLAYER_OWNED der Entität oder nil, wenn sie keinem Spieler gehört.

Rückgabe Engine.Component.PlayerOwned

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/gui/gui/debug_panel/make_entity_debug_panel.tl:389

local po = entity_util.getPlayerOwned(e)

isOwnedByPlayer(Engine.Entity) : boolean base/tealdef/scripts/entity_util.d.tl:19

Aufruf: entity_util.isOwnedByPlayer(…)

Hinweise

True, wenn die Entität dem aktuellen Spieler gehört (api.engine.util.getPlayer()).

Rückgabe boolean

Im Basisspiel verwendet: 30-mal in 16 Dateien

base/content/game_mechanics/game_mechanics/achievements/achievements.script.tl:403

if entity_util.isOwnedByPlayer(vehicleEntity) then
base/content/game_mechanics/game_mechanics/notifications/notifications.script.tl:558
if not entity_util.isOwnedByPlayer(vehicleEntity) then
base/content/gui/gui/entity_window/entity_window_util.tl:1801
if not entity_util.isOwnedByPlayer(constructionEntity) then
base/content/gui/gui/entity_window/industry/industry.tl:184
if entity_util.isOwnedByPlayer(constructionEntity) then
base/content/gui/gui/entity_window/maintenance_station/maintenance_station.tl:31
if entity_util.isOwnedByPlayer(constructionEntity) then
base/content/gui/gui/entity_window/station_group/station_group.tl:623
return entity_util.isOwnedByPlayer(stationGroupEntityId)
… und 10 weitere Dateien.

isOwnedByPlayerOrNotOwned(Engine.Entity) : boolean base/tealdef/scripts/entity_util.d.tl:20

Aufruf: entity_util.isOwnedByPlayerOrNotOwned(…)

Hinweise

True, wenn die Entität dem aktuellen Spieler gehört oder keinen Besitzer hat.

Rückgabe boolean

Im Basisspiel verwendet: 12-mal in 8 Dateien

base/content/game_mechanics/game_mechanics/notifications/notifications.script.tl:522

if entity_util.isOwnedByPlayerOrNotOwned(constructionEntity) then
base/content/gui/gui/entity_window/vehicle/vehicle.tl:377
result.isModifiable = entity_util.isOwnedByPlayerOrNotOwned(vehicleEntityId)
base/content/gui/gui/entity_window/warehouse/warehouse.tl:38
isModifiable = entity_util.isOwnedByPlayerOrNotOwned(constructionEntity),
base/content/gui/gui/line_vehicle_mgmt/line_util.tl:1218
if oldContext.player and not entity_util.isOwnedByPlayerOrNotOwned(entity) then
base/content/gui/gui/line_vehicle_mgmt/manager_window.tl:49
if construction and construction.stations and entity_util.isOwnedByPlayerOrNotOwned(conEntity) then
base/content/gui/gui/main/hud_icon_toolbox.tl:196
if not entity_util.isOwnedByPlayerOrNotOwned(constructionEntity) then
… und 2 weitere Dateien.

getBoundingVolumePosition(Engine.Component.BoundingVolume) : Vec3f base/tealdef/scripts/entity_util.d.tl:22

Aufruf: entity_util.getBoundingVolumePosition(…)

Hinweise

Mittelpunkt der Box des übergebenen Bounding Volume.

Rückgabe Vec3f

Im Basisspiel verwendet: 2-mal in 2 Dateien

base/content/game_mechanics/game_mechanics/towns/town_util.tl:1202

local location = entity_util.getBoundingVolumePosition(proposalData.toAddData_native:at(index).boundingVolume)
base/content/mission/mission/mission_outline.tl:126
local pos = entity_util.getBoundingVolumePosition(bv)

EntityUtil.EntityAndRevision

record base/tealdef/scripts/entity_util.d.tl:4

record EntityAndRevision

Hinweise

Eine Entitäts-ID zusammen mit der Revision, die die Entität beim Speichern hatte. Skripte legen solche Records in ihrem Zustand ab und prüfen später mit entityChanged / entityChanged0, ob die Entität inzwischen geändert, neu gebaut oder entfernt wurde.

Im Basisspiel verwendet: 101-mal in 29 Dateien

base/content/game_mechanics/game_mechanics/celebrations/celebration_react_util.tl:13

entity : EntityUtil.EntityAndRevision
base/content/game_mechanics/game_mechanics/celebrations/celebrations.script.tl:15
reputationEffectEntity : EntityUtil.EntityAndRevision
base/content/game_mechanics/game_mechanics/company/company.script.tl:488
local ecoLevels = emissionsScriptState and emissionsScriptState.ecoLevels as {Engine.Entity : {EntityUtil.EntityAndRevision, integer}} or nil
base/content/game_mechanics/game_mechanics/company/company_util.tl:238
function company_util.findStateIndex(companiesState : CompaniesState, companyEntityAndRevision : EntityUtil.EntityAndRevision) : integer
base/content/game_mechanics/game_mechanics/company/explorations/exploration_plane.script.tl:27
entity : EntityUtil.EntityAndRevision
base/content/game_mechanics/game_mechanics/emission/emission_legacy_util.tl:22
local ecoLevels : {Engine.Entity : {EntityUtil.EntityAndRevision, integer}} = {}
… und 23 weitere Dateien.

Felder

Name Typ Beschreibung
entity Engine.Entity Die Entitäts-ID.
revision Engine.Revision Die Revision der Entität zum Zeitpunkt des Speicherns.