Erstellen Sie mit SaveGame einen permanenten Dienstplan
Warum Daten und FGuid anstelle von Actor speichern?
Die in diesem Blog verfassten Artikel wurden mit dem Ziel erstellt, zu unterrichten. Außerdem können die Informationen im Artikel falsch sein, also seien Sie bitte vorsichtig.
Das Einfügen des Kampfschauspielers selbst in SaveGame bedeutet nicht, dass derselbe Charakter beim nächsten Durchlauf zurückkehrt. Da der Akteur derzeit ein Objekt in der Welt ist, muss er in reine Daten umgewandelt werden, die gespeichert werden können.
In ProjectTB, Dienstplan-CharaktereFTBRosterUnitDataSpeichern Sie es als
USTRUCT(BlueprintType)
struct FTBRosterUnitData
{
GENERATED_BODY()
UPROPERTY()
FGuid UnitInstanceId;
UPROPERTY()
ETBUnitClass UnitClass;
UPROPERTY()
int32 Level = 1;
UPROPERTY()
int32 Experience = 0;
UPROPERTY()
TArray<FName> AcquiredTraitIds;
};
Unterscheiden Sie zwischen Klassen und Instanzen
Auch wenn die Schwertkämpfer-Klasse dieselbe ist, sind Level, Ausrüstung und Eigenschaften jedes Charakters unterschiedlich. FGuidMit können Sie ein bestimmtes Zeichen auch dann wiederfinden, wenn sich die Anordnungsreihenfolge ändert.
UnitClass: Um welche Art von Einheit handelt es sich?
UnitInstanceId: Wer ist dieser Charakter?
Wenn ein Kampf beginnt, wird mithilfe von Speicherdaten ein Akteur erzeugt, und wenn der Kampf endet, wird der Status des überlebenden Akteurs wieder in den Kaderdaten widergespiegelt.
Dauerhafter Tod speichert sofort
Wenn in ProjectTB ein Verbündeter stirbt, wird er aus der Liste und der Auswahlliste entfernt und sofort gespeichert. Denn wenn Sie erst am Ende des Kampfes speichern, kann der Tod durch erzwungenes Beenden rückgängig gemacht werden.
Wenn umgekehrt zu viele Speicherpunkte vorhanden sind, wird häufig auf die Festplatte zugegriffen. Bestimmen Sie wichtige Zustandsänderungspunkte undCaptureSaveGame()Durch das Erstellen von Sicherungsdaten im Pfad werden Auslassungen reduziert.
Der Schlüssel zum Design von SaveGame besteht nicht darin, das Objekt so zu speichern, wie es ist. Die zur erneuten Konfiguration des Spiels erforderlichen Mindestdaten werden mit einer stabilen ID gespeichert.