[SpaceEngineers/C#] Blocks working? | Beschädigte Blöcke?

This article is also available in English. Click here to view it in English.


Ich wollte mich nun auch endlich mal mit der In-Game Programmierung beschäftigen, zumal ich schon seit einigen Jahren C# Programme schreibe. Mittlerweile habe ich einen ersten Teil als eine Art Tutorial veröffentlicht und durch Zufall gesehen, dass mein Skript (unten), welches ich gestern als erstes Skript veröffentlicht habe, bereits 12 Abonnenten gewonnen hat und das obwohl es nur ein simples Skript ist. Zudem veröffentliche ich alle Skripte auf meinem Blog hier, erkläre sie etwas und verlinke jeweils auf die Steam Workshop-Seite, falls vorhanden.

Steam Workshop


Zuerst initialisiere ich die Liste blocks welche man benötigt um die Blöcke die wir benötigen zwischenzuspeichern. Mit dem GridTerminalSystem erhalten wir Zugriff auf alle Blöcke des Grids. In diesem Fall möchte ich alle Blöcke erhalten, weswegen ich auch den Typ IMyTerminalBlock verwende, denn jeder Block besitzt diesen Typen.

Anschließend benutze ich die for-Schleife um durch jeden Block zu iterieren. for-Schleife übrigens nur, weil die foreach-Schleife aktuell auf einigen Systemen, gerade bei 64-bit Systemen Probleme macht.

Nun prüfe ich mit !blocks[i].IsFunctional ob dieser beschädigt und damit nicht funktionsfähig ist. Dies bedeutet in Space Engineers, dass der Block unterhalb der roten Linie ist. Falls dies der Fall ist, soll der Block auf dem HUD angezeigt werden, was ich dann mit blocks[i].RequestShowOnHUD(true) bzw false realisiere. RequestShowOnHUD() übrigens deswegen, weil ShowOnHUD eine schreibgeschützte Eigenschaft ist.

1 Gedanke zu “[SpaceEngineers/C#] Blocks working? | Beschädigte Blöcke?

Schreibe einen Kommentar