Skip to content

Files

Latest commit

jekkygitbook-bot
jekky
and
May 8, 2024
8753563 · May 8, 2024

History

History
23 lines (17 loc) · 841 Bytes

File metadata and controls

23 lines (17 loc) · 841 Bytes

Persistence

The fields of classes that extend ScriptableSystem or PersistentState (e.g. ScriptedPuppetPS) can be declared with the persistent modifier to be persisted in game saves.

You can persist data of all types except for String, Variant and ResRef (and arrays of these types).

Instances of classes can be persisted too, but note that their fields must also be marked as persistent, or they won't be persisted and instead they'll be initialized with defaults.

module MyMod

public class Entry {
    // both of these will be persisted
    public persistent let related: TweakDBID;
    public persistent let lasting: Int32;
    // this won't be persisted
    public let temporary: Int32;
}

public class MySystem extends ScriptableSystem {
    private persistent let m_entries: array<ref<Entry>>;
}