添加了 英雄专门处理 装备加成的文件,接下来 去掉原先的光环类文件 FightCon
This commit is contained in:
82
assets/script/game/hero/HeroConComp.ts
Normal file
82
assets/script/game/hero/HeroConComp.ts
Normal file
@@ -0,0 +1,82 @@
|
||||
import { _decorator } 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 "db://oops-framework/core/Oops";
|
||||
import { GameEvent } from "../common/config/GameEvent";
|
||||
import { EquipAttrTarget, EquipInfo } from "../common/config/Equips";
|
||||
import { HeroViewComp } from "./HeroViewComp";
|
||||
import { BuffAttr } from "../common/config/SkillSet";
|
||||
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
/** 视图层对象 */
|
||||
@ccclass('HeroConCompComp')
|
||||
@ecs.register('HeroConComp', false)
|
||||
export class HeroConCompComp extends CCComp {
|
||||
/** 视图层逻辑代码分离演示 */
|
||||
heroView:HeroViewComp=null
|
||||
protected onLoad(): void {
|
||||
oops.message.on(GameEvent.EquipAdd,this.equip_add,this)
|
||||
oops.message.on(GameEvent.EquipChange,this.equip_change,this)
|
||||
oops.message.on(GameEvent.FightReady,this.fight_ready,this)
|
||||
oops.message.on(GameEvent.UseSpecialCard,this.use_special_card,this)
|
||||
}
|
||||
start() {
|
||||
this.heroView=this.node.getComponent(HeroViewComp)
|
||||
// var entity = this.ent as ecs.Entity; // ecs.Entity 可转为当前模块的具体实体对象
|
||||
// this.on(ModuleEvent.Cmd, this.onHandler, this);
|
||||
}
|
||||
equip_add(e:GameEvent,data:any){
|
||||
console.log("[HeroConCompComp]:equip_add",data)
|
||||
let equip=EquipInfo[data.uuid]
|
||||
let buffs=equip.buff
|
||||
let special_attr=equip.special_attr
|
||||
for(let i=0;i<buffs.length;i++){
|
||||
let buff=buffs[i]
|
||||
if(buff.target==EquipAttrTarget.HERO){
|
||||
switch(buff.type){
|
||||
case BuffAttr.AP:
|
||||
this.heroView.add_ap(buff.value,true)
|
||||
break
|
||||
case BuffAttr.ATK:
|
||||
this.heroView.add_ap(buff.value,false)
|
||||
break
|
||||
case BuffAttr.ATK_CD:
|
||||
this.heroView.add_speed(buff.value)
|
||||
break
|
||||
case BuffAttr.DEF:
|
||||
this.heroView.add_def(buff.value)
|
||||
break
|
||||
case BuffAttr.HP:
|
||||
this.heroView.add_hp_max(buff.value,false)
|
||||
break
|
||||
case BuffAttr.HP_MAX:
|
||||
this.heroView.add_hp_max(buff.value,true)
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
equip_change(e:GameEvent,data:any){
|
||||
console.log("[HeroConCompComp]:equip_change",data)
|
||||
}
|
||||
fight_ready(e:GameEvent,data:any){
|
||||
console.log("[HeroConCompComp]:fight_ready",data)
|
||||
}
|
||||
use_special_card(e:GameEvent,data:any){
|
||||
console.log("[HeroConCompComp]:use_special_card",data)
|
||||
}
|
||||
|
||||
/** 全局消息逻辑处理 */
|
||||
// private onHandler(event: string, args: any) {
|
||||
// switch (event) {
|
||||
// case ModuleEvent.Cmd:
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
|
||||
/** 视图对象通过 ecs.Entity.remove(ModuleViewComp) 删除组件是触发组件处理自定义释放逻辑 */
|
||||
reset() {
|
||||
this.node.destroy();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user