Nachdem das Brett aufgebaut ist, platzierst du die Spielfiguren auf dem Brett, prüfst, ob eine Spielfigur an einer bestimmten Kachelkoordinaten existiert, und entfernst eine Spielfigur vom Brett.
Beginne mit dem folgenden Szenario. Bestimme für eine bestimmte tile_coordinate, ob sich dort ein Pawn befindet, und wenn ja, rufe ihn ab. Die Idee sieht wie folgt aus:
Das Brett enthält eine Reihe von
creative_prop-Spielfiguren.Iteriere durch die vorhandenen Spielfiguren und rufe jede Spielfigur-Position als Kachelkoordinate ab.
Wenn es an den angegebenen Koordinaten eine Spielfigur gibt, rufe ihn ab.
Wenn nicht, schlägt die Funktion fehl.
Gleichheit von Kachelkoordinaten bestimmen
Dies setzt voraus, dass du die Möglichkeit hast, zu testen, ob zwei tile_coordinate's gleich sind. Dies ist notwendig, da unser benutzerdefinierter Datentyp „tile coordinate“ kein Subtyp des in Verse eingebauten Typs „comparable“ ist. Daher musst du manuell definieren, was es bedeutet, dass zwei Kachelkoordinaten gleich sind. Erstelle zunächst eine Funktion AreaTileCoordinatesEqual im Modul DataTypes, um dies zu bestimmen:
using { /Verse.org/Simulation }
DataTypes<public> := module:
...
UtilityFunctions<public> := module:
...
Diese Funktion ist genau dann erfolgreich, wenn jede Komponente der beiden Input-Kachelkoordinaten als Ganzzahlen gleich ist.
Kachelkoordinate des Props abrufen
Für die Arbeit mit den Spielfiguren muss die Position einer Spielfigur als Kachelkoordinate ermittelt werden. Schreibe zu diesem Zweck auch eine Helferfunktion, um die Position eines Kreativmodus-Props als Kachelkoordinaten zu erhalten:
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { /Verse.org/Assets }
using { DataTypes }
using { UtilityFunctions }
board<public> := class(creative_device):
Diese Funktion ist genau dann erfolgreich, wenn der Welt-Standort des eingegebenen Kreativmodus-Props in eine Kachelkoordinate auf dem Spielbrett umgewandelt werden kann. Sie verwendet auch die zuvor definierte Funktion ToTileCoordinate, um einen Welt-Standort in eine Brettraum-Position umzuwandeln.
Spielfigur von Kachelkoordinate abrufen
Schreibe die GetPawn-Funktion:
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { /Verse.org/Assets }
using { DataTypes }
using { UtilityFunctions }
board<public> := class(creative_device):
Diese Funktion führt die folgenden Schritte aus:
Sie iteriert durch alle vorhandenen Spielfiguren auf dem Brett.
Sie ruft die Position der Spielfigur als Kachelkoordinate ab.
Wenn die Spielfigur-Position mit der Input-Position identisch ist, wird diese als gefundene Spielfigur gespeichert.
Sie stellt sicher, dass an diesem Ort nur eine einzige Spielfigur gefunden wurde.
Sie gibt diesen eine Spielfigur zurück.
Diese Funktion ist genau dann erfolgreich, wenn es genau eine Spielfigur an den Input-Koordinaten gibt und diese Spielfigur erfolgreich aus dem Spielfiguren-Array abgerufen wurde.
Spielfigur an Kachelkoordinate setzen
Schreibe eine Funktion, um eine einzelne Spielfigur auf dem Brett zu platzieren. Um es einfach zu halten, verwende creative_prop-Objekte als Pawns und ein SM_Box_asset als Pawn-Mesh. Du kannst diese später jederzeit in benutzerdefinierte Objekte deiner Wahl ändern. Die Idee ist:
Das Brett enthält eine Reihe von
creative_prop-Spielfiguren.Prüfe bei einer
tile_coordinate, ob dort bereits eine Spielfigur vorhanden ist.Wenn keine Spielfigur vorhanden ist, platziere eine dort.
Schreibe die SetPawn-Funktion:
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { /Verse.org/Assets }
using { DataTypes }
using { UtilityFunctions }
board<public> := class(creative_device):
Diese Funktion führt die folgenden Schritte aus:
Stellt sicher, dass sich die Input-Kachelkoordinate auf dem Brett befindet.
Sucht alle Spielfiguren, die sich derzeit an der Input-Kachelkoordinate befinden.
Stellt sicher, dass dort keine Spielfiguren gefunden werden.
Versucht, ein Prop an der Input-Position zu spawnen.
Diese Funktion ist genau dann erfolgreich, wenn:
Sich an der eingegebenen Kachelkoordinate derzeit keine Spielfiguren befinden.
Sich die eingegebenen Kachelkoordinate auf dem Brett befinden und in einen Welt-Standort umgewandelt werden können.
Eine Spielfigur entfernen
Eine letzte Funktion, die benötigt wird, ist die Fähigkeit, eine Spielfigur vom Brett zu entfernen. Diese Funktion nimmt das zu entfernende Kreativmodus-Prop auf, entfernt es dann vom Brett und aus dem Buchführungs-Array Pawns.
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { /Verse.org/Assets }
using { DataTypes }
using { UtilityFunctions }
board<public> := class(creative_device):
Überblick
Auf dieser Seite haben wir dich durch die folgenden Schritte geführt:
Eine Spielfugur auf dem Spielbrett platzieren.
Eine Spielfigur vom Spielbrett holen.
Eine Spielfigur vom Spielbrett entfernen.
Dateien
using { /Verse.org/Simulation }
DataTypes<public> := module:
tile_coordinate<public> := class<concrete>:
@editable
Left<public>:int = 0
@editable
Forward<public>:int = 0
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { /Verse.org/Assets }
using { DataTypes }
using { UtilityFunctions }
board<public> := class(creative_device):