LogoPixi’VN

存储类

介绍如何使用`StoredClassModel`来创建属性可被自动存储的类。

Pixi’VN 提供了一个抽象类StoredClassModel,你可以用它来创建类。这些类的属性会自动保存到游戏存储中。

StoredClassModel类的构造函数接受两个参数:

  • categoryId:分类ID。 例如,如果你要存储一个角色类,可以将"character" 作为categoryId。 该类的所有实例都会被保存在"character" 分类下。
  • id:实例在其所属分类中的唯一 ID。
const CITY_CATEGORY = "city"

export default class City extends StoredClassModel {
    constructor(id: string, props: CityProps) {
        super(CITY_CATEGORY, id)
        // ...
    }
}
const milan = new City("milan", {
    // ...
})

存储属性

如果要将类的属性保存到游戏存储中,请使用getStoragePropertysetStorageProperty辅助方法。

export default class City extends StoredClassModel {
    constructor(id: string, props: CityProps) {
        // ...
    }

    get inhabitants(): number {
        return this.getStorageProperty<string>("inhabitants") || ""
    }
    set inhabitants(value: number) {
        this.setStorageProperty<string>("inhabitants", value)
    }
}
const milan = new City("milan", {
    // ...
})

milan.inhabitants = 100000

On this page