76 lines
2.0 KiB
TypeScript
76 lines
2.0 KiB
TypeScript
import { _decorator, Label, Node } from "cc";
|
|
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
|
|
import { CCComp } from "../../../../extensions/oops-plugin-framework/assets/module/common/CCComp";
|
|
|
|
const { ccclass, property } = _decorator;
|
|
|
|
/** 视图层对象 */
|
|
@ccclass('ModuleViewComp')
|
|
@ecs.register('ModuleView', false)
|
|
export class ModuleViewComp extends CCComp {
|
|
/** 视图层逻辑代码分离演示 */
|
|
@property(Node)
|
|
card1:Node = null
|
|
@property(Node)
|
|
card2:Node = null
|
|
@property(Node)
|
|
card3:Node = null
|
|
@property(Node)
|
|
card4:Node = null
|
|
|
|
card1_data:any = {}
|
|
card2_data:any = {}
|
|
card3_data:any = {}
|
|
card4_data:any = {}
|
|
start() {
|
|
this.card1.active=true
|
|
this.card2.active=true
|
|
this.card3.active=true
|
|
this.card4.active=true
|
|
}
|
|
refCards(){
|
|
|
|
}
|
|
updateCardInfo(card:Node,data:any){
|
|
if(!card) return
|
|
let name = card.getChildByName("name")
|
|
if(name){
|
|
name.getComponent(Label).string = data.name
|
|
}
|
|
let info = card.getChildByName("info").getChildByName("Label")
|
|
if(info){
|
|
info.getComponent(Label).string = data.info
|
|
}
|
|
}
|
|
updateCardData(index:number,data:any){
|
|
switch (index) {
|
|
case 1:
|
|
this.card1_data = data
|
|
break;
|
|
case 2:
|
|
this.card2_data = data
|
|
break;
|
|
case 3:
|
|
this.card3_data = data
|
|
break;
|
|
case 4:
|
|
this.card4_data = data
|
|
break;
|
|
}
|
|
}
|
|
selectCard(index:number){
|
|
|
|
}
|
|
/** 全局消息逻辑处理 */
|
|
// private onHandler(event: string, args: any) {
|
|
// switch (event) {
|
|
// case ModuleEvent.Cmd:
|
|
// break;
|
|
// }
|
|
// }
|
|
|
|
/** 视图对象通过 ecs.Entity.remove(ModuleViewComp) 删除组件是触发组件处理自定义释放逻辑 */
|
|
reset() {
|
|
this.node.destroy();
|
|
}
|
|
} |