Files
heros/assets/script/game/map/VictoryComp.ts
2025-08-17 12:25:22 +08:00

54 lines
1.8 KiB
TypeScript

import { _decorator, instantiate, Label ,Prefab,resources,Sprite,SpriteAtlas,v3} from "cc";
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
import { CCComp } from "../../../../extensions/oops-plugin-framework/assets/module/common/CCComp";
import { oops } from "../../../../extensions/oops-plugin-framework/assets/core/Oops";
import { smc } from "../common/SingletonModuleComp";
import { GameEvent } from "../common/config/GameEvent";
const { ccclass, property } = _decorator;
/** 视图层对象 */
@ccclass('VictoryComp')
@ecs.register('Victory', false)
export class VictoryComp extends CCComp {
reward_lv:number=1
reward_num:number=2
/** 视图层逻辑代码分离演示 */
protected onLoad(): void {
}
onAdded(args: any) {
console.log("[VictoryComp] onAdded",args)
this.node.getChildByName("title").getChildByName("victory").active=args.victory
this.node.getChildByName("title").getChildByName("defeat").active=!args.victory
this.node.getChildByName("btns").getChildByName("next").active=false
this.scheduleOnce(()=>{
this.node.getChildByName("btns").getChildByName("next").active=true
},0.2)
}
victory_end(){
oops.message.dispatchEvent(GameEvent.MissionEnd)
oops.gui.removeByNode(this.node)
}
restart(){
oops.message.dispatchEvent(GameEvent.MissionStart)
oops.gui.removeByNode(this.node)
}
item_show(e:any,val:any){
console.log("item_show",val)
}
protected onDestroy(): void {
console.log("释放胜利界面");
}
/** 视图对象通过 ecs.Entity.remove(ModuleViewComp) 删除组件是触发组件处理自定义释放逻辑 */
reset() {
this.node.destroy()
}
}