This commit is contained in:
2024-08-03 23:54:37 +08:00
parent d5f2f65ee6
commit a81cde8e82
108 changed files with 7182 additions and 2487 deletions

View File

@@ -4,12 +4,12 @@
* @LastEditors: dgflash
* @LastEditTime: 2022-08-04 15:46:16
*/
import { VM } from "../../../../extensions/oops-plugin-framework/assets/libs/model-view/ViewModel";
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
import { Initialize } from "../initialize/Initialize";
import { GameMap } from "../map/GameMap";
import { Role } from "../role/Role";
import { data } from "../data/data";
// import { data } from "../data/data";
/** 游戏模块 */
@ecs.register('SingletonModule')
export class SingletonModuleComp extends ecs.Comp {
@@ -20,7 +20,7 @@ export class SingletonModuleComp extends ecs.Comp {
/** 游戏主角 */
own: Role = null;
/** 游戏数据 */
data:data = null!;
// data:data = null!;
/**怪物数据 数组 */
monsters = []
/**heros 数据 */
@@ -29,8 +29,28 @@ export class SingletonModuleComp extends ecs.Comp {
heros_in = []
monsters_dead = []
heros_dead = []
reset() { }
vm_data: any = {
name : "数据测试",
/** 当前等级 */
porwer: 0,
/** 当前经验 */
def : 0,
/** 下级经验 */
speed : 0,
hp: {
min:50,
max:100
}
};
vmAdd() {
console.log("dataModelComp vmAdd");
VM.add(this.vm_data, "data");
}
reset() {
for (var key in this.vm_data) {
delete this.vm_data[key];
}
}
}
export var smc: SingletonModuleComp = ecs.getSingleton(SingletonModuleComp);

View File

@@ -14,7 +14,7 @@ export enum UIID {
Window,
/** 加载与延时提示界面 */
Netinstable,
/** 摇杆控制 */
/** 角色控制 */
Role_Controller
}

View File

@@ -17,7 +17,9 @@ export class data extends ecs.Entity {
protected init() {
this.addComponents<ecs.Comp>(dataViewComp,dataModelComp);
}
changeHp(min: number, max: number){
var data = this.dataModel;
}
/** 模块资源释放 */
destroy() {
// 注: 自定义释放逻辑,视图层实现 ecs.IComp 接口的 ecs 组件需要手动释放

View File

@@ -1,18 +1,36 @@
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
import { VM } from "../../../../extensions/oops-plugin-framework/assets/libs/model-view/ViewModel";
import { CCVMParentComp } from "../../../../extensions/oops-plugin-framework/assets/module/common/CCVMParentComp";
/** 数据层对象 */
@ecs.register('dataModel')
export class dataModelComp extends ecs.Comp {
export class dataModelComp extends CCVMParentComp {
/** 提供 MVVM 组件使用的数据 */
private vm: dataVM = new dataVM();
/** VM 组件绑定数据 */
vm: any = {
name : "数据测试",
/** 当前等级 */
porwer: 0,
/** 当前经验 */
def : 0,
/** 下级经验 */
speed : 0,
hp: {
min:50,
max:100
}
};
/** 显示数据添加到 MVVM 框架中监视 */
vmAdd() {
console.log("dataModelComp vmAdd");
VM.add(this.vm, "data");
}
changeHp(min: number, max: number) {
this.vm.hp.min =this.vm.hp.min +min
this.vm.hp.max =this.vm.hp.max +max
}
/** 显示数据从 MVVM 框架中移除 */
vmRemove() {
VM.remove("data");
@@ -26,21 +44,3 @@ export class dataModelComp extends ecs.Comp {
}
}
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;
}
}

View File

@@ -11,7 +11,7 @@ import { AsyncQueue, NextFunction } from "../../../../extensions/oops-plugin-fra
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
import { UIID } from "../common/config/GameUIConfig";
import { LoadingViewComp } from "./view/LoadingViewComp";
import {data} from "../data/data";
// import {data} from "../data/data";
/**
* 游戏进入初始化模块
* 1、热更新
@@ -20,11 +20,11 @@ import {data} from "../data/data";
@ecs.register(`Initialize`)
export class Initialize extends ecs.Entity {
LoadingView!: LoadingViewComp;
data:data=null!;
// data:data=null!;
protected init() {
this.data=ecs.getEntity<data>(data);
this.data.dataModel.vmAdd();
// this.data=ecs.getEntity<data>(data);
// this.data.dataModel.vmAdd();
var queue: AsyncQueue = new AsyncQueue();
// 加载自定义资
this.loadCustom(queue);

View File

@@ -46,6 +46,7 @@ export class LoadingViewComp extends CCVMParentComp {
var map = ecs.getEntity<GameMap>(GameMap);
map.load();
smc.map = map;
oops.gui.open(UIID.Role_Controller)
}
start() {

View File

@@ -77,7 +77,9 @@ export class MapViewComp extends CCComp {
let name = smc.heros[0].name
monster.load(pos,speed,camp,prefab_path,name);
smc.heros.splice(0,1)
}
}
smc.vm_data.hp.min = 100
}
private addMonster(name:string = "niu",speed:number = 100) {