装备技能 获取和提示 动画 修改

This commit is contained in:
2025-07-02 10:41:23 +08:00
parent 8c1216f24d
commit a83b8efacb
6 changed files with 3848 additions and 3643 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -51,6 +51,6 @@ export enum GameEvent {
UpdateHP = "UpdateHP", UpdateHP = "UpdateHP",
APChange = "APChange", APChange = "APChange",
EXPUP = "EXPUP", EXPUP = "EXPUP",
EQUIP_SHOW = "EQUIP_SHOW", EQUIP_STONE_UP = "EQUIP_STONE_UP",
SKILL_SHOW = "SKILL_SHOW", SKILL_STONE_UP = "SKILL_STONE_UP",
} }

View File

@@ -332,14 +332,9 @@ export class HeroViewComp extends CCComp {
console.log("[HeroViewComp]:角色死亡",this.hero_uuid) console.log("[HeroViewComp]:角色死亡",this.hero_uuid)
if(this.is_kalami){ if(this.is_kalami){
oops.message.dispatchEvent(GameEvent.EXPUP,{exp:50}) oops.message.dispatchEvent(GameEvent.EXPUP,{exp:50})
smc.vmdata.mission_data.skill_stone+=10 oops.message.dispatchEvent(GameEvent.SKILL_STONE_UP,10)
smc.vmdata.mission_data.equip_stone+=10 oops.message.dispatchEvent(GameEvent.EQUIP_STONE_UP,10)
if(smc.vmdata.mission_data.skill_stone >= smc.vmdata.mission_data.skill_stone_max){
oops.message.dispatchEvent(GameEvent.SKILL_SHOW)
}
if(smc.vmdata.mission_data.equip_stone >= smc.vmdata.mission_data.equip_stone_max){
oops.message.dispatchEvent(GameEvent.EQUIP_SHOW)
}
} }
if(this.is_boss){ if(this.is_boss){
oops.message.dispatchEvent(GameEvent.EXPUP,{exp:100}) oops.message.dispatchEvent(GameEvent.EXPUP,{exp:100})

View File

@@ -21,17 +21,20 @@ export class EquipSkillComp extends CCComp {
onLoad() { onLoad() {
this.on(GameEvent.UseSkillCard, this.get_skill, this); this.on(GameEvent.UseSkillCard, this.get_skill, this);
this.on(GameEvent.FightReady,this.fight_ready,this) this.on(GameEvent.FightReady,this.fight_ready,this)
this.on(GameEvent.SKILL_SHOW,this.do_skill_show,this) this.on(GameEvent.SKILL_STONE_UP,this.skill_stone_up,this)
this.boxs=this.node.getChildByName("boxs") this.boxs=this.node.getChildByName("boxs")
} }
start(){ start(){
this.fight_ready() this.fight_ready()
} }
do_skill_show(e:GameEvent,data:any){ skill_stone_up(e:GameEvent,data:any){
console.log("[EquipSkillComp]: do_skill_show",data) console.log("[EquipSkillComp]: skill_stone_up",data)
this.show_skill_get("skill1") smc.vmdata.mission_data.skill_stone+=data
this.show_skill_get("skill2") if(smc.vmdata.mission_data.skill_stone >= smc.vmdata.mission_data.skill_stone_max){
this.show_skill_get("skill3") this.show_skill_get("skill1")
this.show_skill_get("skill2")
this.show_skill_get("skill3")
}
} }
fight_ready(){ fight_ready(){
this.boxs=this.node.getChildByName("boxs") this.boxs=this.node.getChildByName("boxs")
@@ -188,19 +191,40 @@ export class EquipSkillComp extends CCComp {
} }
private show_skill_get(e:string){ private show_skill_get(e:string){
this.boxs.getChildByName(e).getChildByName("get").active =true if(this.skill1.uuid==0){
this.boxs.getChildByName("skill1").getChildByName("get").active =true
}
if(this.skill2.uuid==0){
this.boxs.getChildByName("skill2").getChildByName("get").active =true
}
if(this.skill3.uuid==0){
this.boxs.getChildByName("skill3").getChildByName("get").active =true
}
} }
private hide_skill_get(e:any,data:string){ private hide_skill_get(e:any,data:string){
this.boxs.getChildByName(data).getChildByName("get").active =false this.boxs.getChildByName("skill1").getChildByName("get").active =false
this.boxs.getChildByName("skill2").getChildByName("get").active =false
this.boxs.getChildByName("skill3").getChildByName("get").active =false
} }
private show_skill_change(e:string){ private show_skill_change(e:string){
this.boxs.getChildByName(e).getChildByName("change").active =true if(this.skill1.uuid!=0){
this.boxs.getChildByName("skill1").getChildByName("change").active =true
}
if(this.skill2.uuid!=0){
this.boxs.getChildByName("skill2").getChildByName("change").active =true
}
if(this.skill3.uuid!=0){
this.boxs.getChildByName("skill3").getChildByName("change").active =true
}
} }
private hide_skill_change(e:any,data:any){ private hide_skill_change(e:any,data:any){
this.boxs.getChildByName(data).getChildByName("change").active =false this.boxs.getChildByName("skill1").getChildByName("change").active =false
this.boxs.getChildByName("skill2").getChildByName("change").active =false
this.boxs.getChildByName("skill3").getChildByName("change").active =false
} }

View File

@@ -24,14 +24,17 @@ export class EquipsComp extends Component {
oops.message.on(GameEvent.EquipAdd,this.equip_add,this) oops.message.on(GameEvent.EquipAdd,this.equip_add,this)
oops.message.on(GameEvent.EquipRemove,this.equip_remove,this) oops.message.on(GameEvent.EquipRemove,this.equip_remove,this)
this.boxs=this.node.getChildByName("boxs") this.boxs=this.node.getChildByName("boxs")
oops.message.on(GameEvent.EQUIP_SHOW,this.do_equip_show,this) oops.message.on(GameEvent.EQUIP_STONE_UP,this.equip_stone_up,this)
} }
do_equip_show(e:GameEvent,data:any){ equip_stone_up(e:GameEvent,data:any){
console.log("[EquipsComp]:do_equip_show",data) console.log("[EquipsComp]:equip_stone_up",data)
this.show_equip_get("weapon") smc.vmdata.mission_data.equip_stone+=data
this.show_equip_get("armor") if(smc.vmdata.mission_data.equip_stone >= smc.vmdata.mission_data.equip_stone_max){
this.show_equip_get("accessory") this.show_equip_get("weapon")
this.show_equip_get("armor")
this.show_equip_get("accessory")
}
} }
start(){ start(){
this.fight_ready() this.fight_ready()
@@ -253,20 +256,40 @@ export class EquipsComp extends Component {
} }
private show_equip_get(e:string){ private show_equip_get(e:string){
if(this.weapon.uuid==0){
this.boxs.getChildByName(e).getChildByName("get").active =true this.boxs.getChildByName("weapon").getChildByName("get").active =true
}
if(this.armor.uuid==0){
this.boxs.getChildByName("armor").getChildByName("get").active =true
}
if(this.accessory.uuid==0){
this.boxs.getChildByName("accessory").getChildByName("get").active =true
}
} }
private hide_equip_get(e:any,data:string){ private hide_equip_get(e:any,data:string){
this.boxs.getChildByName(data).getChildByName("get").active =false this.boxs.getChildByName("weapon").getChildByName("get").active =false
this.boxs.getChildByName("armor").getChildByName("get").active =false
this.boxs.getChildByName("accessory").getChildByName("get").active =false
} }
private show_equip_change(e:string){ private show_equip_change(e:string){
this.boxs.getChildByName(e).getChildByName("change").active =true if(this.weapon.uuid!=0){
this.boxs.getChildByName("weapon").getChildByName("change").active =true
}
if(this.armor.uuid!=0){
this.boxs.getChildByName("armor").getChildByName("change").active =true
}
if(this.accessory.uuid!=0){
this.boxs.getChildByName("accessory").getChildByName("change").active =true
}
} }
private hide_equip_change(e:any,data:any){ private hide_equip_change(e:any,data:any){
this.boxs.getChildByName(data).getChildByName("change").active =false this.boxs.getChildByName("weapon").getChildByName("change").active =false
this.boxs.getChildByName("armor").getChildByName("change").active =false
this.boxs.getChildByName("accessory").getChildByName("change").active =false
} }
} }

View File

@@ -147,16 +147,30 @@ export class MissionComp extends CCComp {
call_friend_card(){ call_friend_card(){
oops.message.dispatchEvent(GameEvent.HeroSelect) oops.message.dispatchEvent(GameEvent.HeroSelect)
} }
call_equip_card(){
call_equip_card(e:any,data:any){
let mission_data=smc.vmdata.mission_data let mission_data=smc.vmdata.mission_data
if(mission_data.gold < (mission_data.refresh_gold+mission_data.buff_refresh_gold)){ if(mission_data.equip_stone < mission_data.equip_stone_max){
oops.gui.toast("金币不足", false); oops.gui.toast("装备石不足", false);
return return
} }
oops.message.dispatchEvent(GameEvent.EquipSelect) oops.message.dispatchEvent(GameEvent.EquipSelect,{slot:data})
mission_data.gold-=(mission_data.refresh_gold+mission_data.buff_refresh_gold) mission_data.equip_stone-=mission_data.equip_stone_max
mission_data.equip_stone_max=mission_data.equip_stone_max*2
} }
call_skill_card(e:any,data:any){
let mission_data=smc.vmdata.mission_data
if(mission_data.skill_stone < mission_data.skill_stone_max){
oops.gui.toast("技能石不足", false);
return
}
oops.message.dispatchEvent(GameEvent.HeroSkillSelect,{slot:data})
mission_data.skill_stone-=mission_data.skill_stone_max
mission_data.skill_stone_max=mission_data.skill_stone_max*2
}
call_func_card(){ call_func_card(){
let mission_data=smc.vmdata.mission_data let mission_data=smc.vmdata.mission_data
if(mission_data.gold < (mission_data.refresh_gold+mission_data.buff_refresh_gold)){ if(mission_data.gold < (mission_data.refresh_gold+mission_data.buff_refresh_gold)){
@@ -167,10 +181,6 @@ export class MissionComp extends CCComp {
mission_data.gold-=(mission_data.refresh_gold+mission_data.buff_refresh_gold) mission_data.gold-=(mission_data.refresh_gold+mission_data.buff_refresh_gold)
} }
call_skill_card(e:any,data:any){
console.log("call_skill_card",e)
oops.message.dispatchEvent(GameEvent.HeroSkillSelect,{slot:data})
}
private cleanComponents() { private cleanComponents() {
ecs.query(ecs.allOf(HeroViewComp)).forEach(entity => {entity.remove(HeroViewComp);entity.destroy()}); ecs.query(ecs.allOf(HeroViewComp)).forEach(entity => {entity.remove(HeroViewComp);entity.destroy()});
} }