headquarter_util_serialized¶
Quelle: base/tealdef/landmarks/hq/headquarter_util_serialized.d.tl
Hinweise
Typen der Konstruktion des Unternehmens-Hauptquartiers (/landmarks/hq/hq/headquarter.script.tl):
eine modulare Konstruktion auf einem 8-m-Raster, deren Module weitere Slots um sich herum anlegen.
HeadquarterUtilSerialized¶
record global base/tealdef/landmarks/hq/headquarter_util_serialized.d.tl:3
global record HeadquarterUtilSerialized
Hinweise
Typen der Konstruktion des Unternehmens-Hauptquartiers.
HeadquarterUtilSerialized.SlotData¶
record base/tealdef/landmarks/hq/headquarter_util_serialized.d.tl:4
record SlotData
Hinweise
Größe und Id eines Slot-Typs des Hauptquartiers.
Im Basisspiel verwendet: 1-mal in 1 Datei
base/content/landmarks/hq/hq/headquarter.script.tl:61
Felder
| Name | Typ | Beschreibung |
|---|---|---|
id |
integer |
Nummer des Slot-Typs, wird in die Slot-Ids codiert. |
height |
number |
Höhe des Slots für die Kollision. |
size |
Vec2Serialized.Vec2 |
Größe des Slots in Metern. |
HeadquarterUtilSerialized.SlotSetup¶
record base/tealdef/landmarks/hq/headquarter_util_serialized.d.tl:10
record SlotSetup
Hinweise
Ein Slot, den ein platziertes Modul hinzufügt (Eintrag in metadata.slots des Moduls).
Im Basisspiel verwendet: 1-mal in 1 Datei
base/content/landmarks/hq/hq/headquarter.script.tl:226
Felder
| Name | Typ | Beschreibung |
|---|---|---|
slotType |
string |
Typ des hinzugefügten Slots, z. B. "hq_medium_building". |
offset |
Vec2Serialized.Vec2 |
Position in Rasterzellen relativ zum Modul, dreht sich mit dem Modul. |
orientation |
integer |
Drehung in Vierteldrehungen, wird zur Ausrichtung des Moduls addiert. |
skipOrientation |
boolean |
|
heightOffset |
number |
Höhe des Slots über dem Modul in Metern (Dachflaggen nutzen 15). |
perimeter |
boolean |
Legt eine Reihe Slots rund um die Zellfläche des Moduls an statt eines Slots bei offset. |
cellSize |
{Vec2Serialized.Vec2} |
Zellfläche des Slot-Typs für perimeter-Slots, {xRange, yRange}. |
shift |
Vec2Serialized.Vec2 |
Versatz in Metern innerhalb der Zelle. |
variant |
integer |
Variante, die in die Slot-Id codiert wird. |
HeadquarterUtilSerialized.HeadquarterConnector¶
record base/tealdef/landmarks/hq/headquarter_util_serialized.d.tl:22
record HeadquarterConnector
Hinweise
Zusätzliche Modelle, die ein Modul hinzufügt, wenn eine Nachbarzelle einen passenden Slot-Typ hat.
Im Basisspiel verwendet: 1-mal in 1 Datei
base/content/landmarks/hq/hq/headquarter_addon.script.tl:66
Felder
| Name | Typ | Beschreibung |
|---|---|---|
slotTypes |
{string} |
Slot-Typen des Nachbarn, die den Connector auslösen. "*any" passt auf jede belegte Zelle, "*empty" auf eine leere. Innerhalb einer Gruppe gewinnt der erste passende Connector. |
group |
string |
Name der Gruppe in den generierten Daten, die hinzugefügt wird. |
offset |
Vec2iSerialized.Vec2i |
Nachbarzelle relativ zum Modul, dreht sich mit dem Modul. |
HeadquarterUtilSerialized.HeadquarterModuleMetadata¶
record base/tealdef/landmarks/hq/headquarter_util_serialized.d.tl:28
record HeadquarterModuleMetadata
Hinweise
Metadaten eines Hauptquartier-Moduls.
Im Basisspiel verwendet: 1-mal in 1 Datei
base/content/landmarks/hq/hq/headquarter_addon.script.tl:12
Felder
| Name | Typ | Beschreibung |
|---|---|---|
cellSize |
{Vec2Serialized.Vec2} |
Zellen, die das Modul belegt, als {{x = minX, y = maxX}, {x = minY, y = maxY}} relativ zur eigenen Zelle. |
fenceCellSize |
{Vec2Serialized.Vec2} |
Zellen innerhalb des Zauns um das Modul, in derselben Form. Standard ist cellSize, um eine Zelle vergrößert. |
fenceEntrance |
boolean |
Lässt die Vorderseite des Zauns offen. |
slots |
{SlotSetup} |
Slots, die das Modul um sich herum anlegt. |
size |
Vec2iSerialized.Vec2i |
Größe des eigenen Slots des Moduls in Metern. |
connectors |
{string : {HeadquarterConnector}} |
Connector-Gruppen (z. B. left, right, top, bottom). Jede Gruppe fügt höchstens einen Connector hinzu. |
canRotate |
boolean |
Dreht die Modelle des Moduls um seine Variante in Vierteldrehungen. |
HeadquarterUtilSerialized.HeadquarterConstructionResult¶
record base/tealdef/landmarks/hq/headquarter_util_serialized.d.tl:38
record HeadquarterConstructionResult is ConstructionUtilSerialized.IConstructionResult
Hinweise
Konstruktionsergebnis des Hauptquartiers mit den Raster-Helfern, die seine Modulskripte aufrufen.
Im Basisspiel verwendet: 3-mal in 3 Dateien
base/content/landmarks/hq/hq/headquarter.script.tl:135
base/content/landmarks/hq/hq/headquarter_addon.script.tl:7
function data.updateFn(captureParams : table, result : HeadquarterUtilSerialized.HeadquarterConstructionResult, _transform : Mat4Serialized.Mat4, tag : string,
base/content/stations/air/air/heliport/modules.script.tl:7
Felder
Funktionen
encodeSlotId(coord : Vec2Serialized.Vec2, slotType : string, orientation : integer) : integer base/tealdef/landmarks/hq/headquarter_util_serialized.d.tl:43
Hinweise
Packt Rasterkoordinate, Slot-Typ, Ausrichtung und Variante in eine Slot-Id.
Rückgabe integer
decodeSlotId(slotId : integer) : Vec2Serialized.Vec2, string, integer, integer base/tealdef/landmarks/hq/headquarter_util_serialized.d.tl:44
Hinweise
Entpackt eine Slot-Id.
Rückgabe Vec2Serialized.Vec2, string, integer, integer: Rasterkoordinate, Slot-Typ, Ausrichtung (0–3) und Variante.
isOccupied(coord : Vec2Serialized.Vec2) : integer base/tealdef/landmarks/hq/headquarter_util_serialized.d.tl:45
Hinweise
Slot-Id, die die Rasterzelle belegt, -1 bei Zaunzellen oder nil, wenn die Zelle frei ist.
Rückgabe integer
markOccupied(coord : Vec2Serialized.Vec2, slotId : integer) base/tealdef/landmarks/hq/headquarter_util_serialized.d.tl:46
Hinweise
Markiert eine Rasterzelle als von der Slot-Id belegt.
addSlot(coord : Vec2Serialized.Vec2, type : string, sizex : integer, sizey : integer, slotHeight : number, orientation : integer, heightOffset? : Vec3Serialized.Vec3, variant? : integer) base/tealdef/landmarks/hq/headquarter_util_serialized.d.tl:47
Hinweise
Fügt einen Slot in einer Rasterzelle hinzu (8-m-Raster), außer es gibt schon einen Slot mit derselben Id oder die Zelle liegt mehr als 20 Zellen vom Ursprung entfernt.
occupySlot(cellSize : {Vec2Serialized.Vec2}, fenceCellSize : {Vec2Serialized.Vec2}, coord : Vec2Serialized.Vec2, orientation : integer, slotId : integer) base/tealdef/landmarks/hq/headquarter_util_serialized.d.tl:49
Hinweise
Markiert die Zellen eines Moduls und seines Zauns als belegt.
makeSlots(cellSize : {SlotSetup}, cellSize : {Vec2Serialized.Vec2}, coord : Vec2Serialized.Vec2, orientation : integer, variant? : integer) base/tealdef/landmarks/hq/headquarter_util_serialized.d.tl:50
Hinweise
Legt die Slots aus metadata.slots eines Moduls um das Modul herum an.
addAlignmentColliderAndGroundTexture(cellSize : {Vec2Serialized.Vec2}, fenceCellSize : {Vec2Serialized.Vec2}, transf2 : Mat4Serialized.Mat4) base/tealdef/landmarks/hq/headquarter_util_serialized.d.tl:52
Hinweise
Fügt über der Zaunfläche des Moduls eine flache Geländeangleichung und einen Quader-Collider (30 m hoch) hinzu.
addFence(cellSize : {Vec2Serialized.Vec2}, fenceCellSize : {Vec2Serialized.Vec2}, coord : Vec2Serialized.Vec2, tag : string, transf2 : Mat4Serialized.Mat4, orientation : integer, skipFront : boolean) base/tealdef/landmarks/hq/headquarter_util_serialized.d.tl:53
Hinweise
Fügt rund um die Zaunfläche des Moduls Modelle für Zaun und Zaunpfosten hinzu.
rotate(coord : Vec2Serialized.Vec2, orientation : integer) : Vec2Serialized.Vec2 base/tealdef/landmarks/hq/headquarter_util_serialized.d.tl:55
Hinweise
Dreht einen Rasterversatz um orientation Vierteldrehungen gegen den Uhrzeigersinn.
Rückgabe Vec2Serialized.Vec2
runLater(function()) base/tealdef/landmarks/hq/headquarter_util_serialized.d.tl:57
Hinweise
Registriert eine Funktion, die nach allen Modulskripten läuft, wenn das Konstruktionsskript terminateConstructionHook aufruft.
Details
Modulskripte fügen damit Modelle erst hinzu, wenn jedes Modul seine Slots angelegt und seine Zellen belegt hat.