46 lines
1.1 KiB
TypeScript
46 lines
1.1 KiB
TypeScript
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
|
|
import { VM } from "../../../../extensions/oops-plugin-framework/assets/libs/model-view/ViewModel";
|
|
|
|
/** 数据层对象 */
|
|
@ecs.register('dataModel')
|
|
export class dataModelComp extends ecs.Comp {
|
|
/** 提供 MVVM 组件使用的数据 */
|
|
private vm: dataVM = new dataVM();
|
|
|
|
/** 显示数据添加到 MVVM 框架中监视 */
|
|
vmAdd() {
|
|
console.log("dataModelComp vmAdd");
|
|
VM.add(this.vm, "data");
|
|
}
|
|
|
|
/** 显示数据从 MVVM 框架中移除 */
|
|
vmRemove() {
|
|
VM.remove("data");
|
|
}
|
|
|
|
/** 数据层组件移除时,重置所有数据为默认值 */
|
|
reset() {
|
|
for (var key in this.vm) {
|
|
delete this.vm[key];
|
|
}
|
|
}
|
|
}
|
|
|
|
class dataVM {
|
|
/** 英雄名称 */
|
|
name: string = "数据测试";
|
|
/** 当前等级 */
|
|
porwer: number = 0;
|
|
/** 当前经验 */
|
|
def: number = 0;
|
|
/** 下级经验 */
|
|
speed: number = 0;
|
|
|
|
reset() {
|
|
this.name = "";
|
|
this.porwer = 0;
|
|
this.def = 0;
|
|
this.speed = 0;
|
|
}
|
|
|
|
} |