Datenbestandsdauer

Das Datendauerhaltungssystem ermöglicht es Ihnen, während eines Playbacks einige Daten zu speichern, um einige Informationen darüber zu speichern, was der Player bereits getan hat.

Ohne sie, da jede Zone eine neue Szene ist, lädt der Eintritt in eine Zone den "Standard"-Zustand dieser Zone (wie er im Editor entworfen wurde), aber jede permanente Aktion, die der Spieler durchgeführt hat (wie das Greifen eines Schlüssels oder einer Waffe), würde rückgängig gemacht.

Nutzung im Editor

Das Datensystem arbeitet über eine Skriptschnittstelle namens IDataPersister.

Objekte, die diese Schnittstelle implementieren (z.B. InventoryItem, HubDoor, PlayerInput, etc.), können Daten aus dem PersistentDataManager schreiben und lesen.

MonoBehaviours, die die Schnittstelle implementieren, haben ein Ausklappmenü für Dateneinstellungen, das unten in ihrem Inspektor angezeigt wird. Die Einstellungen umfassen:

  • Daten-Tag: Dies ist eine eindeutige Kennung für das Spielobjekt, die vom Manager verwendet wird, um Daten mit diesem Spielobjekt zu verknüpfen. Es kann alles sein: Einige eingebaute Komponenten verwenden eine automatisch generierte Unique ID, aber es kann auch ein manuell eingegebener Name sein, wie "Zone_3_key" oder "Quest_Item_Card".
  • Ausdauerart (Persistence Type): Es gibt vier Arten von Ausdauer:
    • - Nicht bestehend (Don't Persist): Dies ermöglicht es, die Dauerhaftigkeit zu deaktivieren. Dies ist nützlich für Spielobjekte, die bei Szenenwechsel zurückgesetzt werden müssen (z.B. wenn Sie möchten, dass sich eine Tür beim Neustart eines Levels wieder schließt).
    • - Nur Lesen (Read Only): Dieses Spielobjekt kann nur Daten lesen, nicht aber in sie schreiben. Eine Möglichkeit, dies zu nutzen, besteht darin, ein Spielobjekt mit Nur Schreiben (siehe unten) mit dem gleichen Daten-Tag zu haben. Dieses Spielobjekt verwendet die Daten, die das andere Spielobjekt für dieses Tag schreibt, kann es aber nicht überschreiben.
    • - Nur Schreiben (Write Only): Das Spielobjekt kann Daten schreiben, aber nicht aus ihm lesen. Siehe Nur Lesen oben für ein Anwendungsbeispiel.
    • - Lesen Schreiben (Read Write): Dies ist der häufigste Anwendungsfall. Das Spielobjekt liest und schreibt Daten mit seinem angegebenen Daten-Tag.

Datenspeicherung- / ladezyklus

SaveData wird auf allen Instanzen von IDataPersister in der Szene vor einem Szenenwechsel aufgerufen.

LoadData wird auf allen Instanzen von IDataPersister in der Szene aufgerufen, nachdem eine neue Szene geladen wurde.

Es ist jederzeit möglich, Daten manuell zu speichern, indem Sie PersistentDataManager.SetDirty(this) auf einem beliebigen IDataPersister aufrufen.

Beispiel für die Verwendung im Code

Die Art und Weise, wie der Datenmanager im Code verwendet werden kann, besteht darin, die zugehörigen Daten zu lesen, wenn er aktiviert bzw. gestartet wird, und darauf zu reagieren.

So schreibt beispielsweise der Inventarartikel seinen Zustand in die dauerhaften Daten (aktiv oder nicht). Wenn also die Szene geladen wird, ruft das Inventarobjekt die Daten ab, die seinem Tag zugeordnet sind. Wenn ein falscher Wert gespeichert wird, bedeutet das, dass das Spielobjekt bereits abgerufen wurde und es sich selbst deaktivieren kann.

Ein weiteres Beispiel wäre eine Tür, die ihren Zustand speichert. Wenn die Szene geladen und Daten gelesen werden, kann sie sich in den gewünschten Zustand versetzen (z.B. Öffnen/Schließen).

Spielplatz

Erste Schritte
  1. Einführung in das Game Kit
  2. Erstellen einer neuen Szene
  3. Levelerstellung
  4. Testen eines Levels
  5. Hinzufügen einer beweglichen Plattform
  6. Öffnen einer Tür durch ein Ereignis
  7. Feinde
  8. Beschädigung durch Objekte
  9. Dekorieren
  10. Teleportieren des Spielers
  11. Spaß haben
Erste Schritte mit dem 2D-Spielkit
  1. Überblick und Ziele
  2. Ellen und das Setzen von Gefahren
  3. Hinzufügen von beweglichen Plattformen
  4. Türen und zerstörbare Objekte
  5. Feinde hinzufügen und ausmerzen
  6. Steuerung von Plattformen mit Schaltern
  7. Verwendung des Inventarsystems
  8. Teleporting und Dialogfelder
Referenzhandbuch für das Spiel-Kit
  1. Wie man dieses Dokument verwendet
  2. Ellen
  3. Feindliches Verhalten
  4. Gesundheitsförderung
  5. Drucksensor
  6. Schadenssystem
  7. Bewegliche Plattform
  8. Interaktionssystem
  9. Inventarsystem
  10. HubDoor
  11. Feindauftauchen
Erweiterte Game Kit Themen
  1. Fortgeschrittene Themen
  2. Zufalls-Audio-Player
  3. VFXController
  4. Datenbestandsdauer
  5. SceneLinkedSMB
  6. Objektpooling im Gamekit
  7. Verhaltensbaum