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

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",
APChange = "APChange",
EXPUP = "EXPUP",
EQUIP_SHOW = "EQUIP_SHOW",
SKILL_SHOW = "SKILL_SHOW",
EQUIP_STONE_UP = "EQUIP_STONE_UP",
SKILL_STONE_UP = "SKILL_STONE_UP",
}

View File

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

View File

@@ -21,18 +21,21 @@ export class EquipSkillComp extends CCComp {
onLoad() {
this.on(GameEvent.UseSkillCard, this.get_skill, 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")
}
start(){
this.fight_ready()
}
do_skill_show(e:GameEvent,data:any){
console.log("[EquipSkillComp]: do_skill_show",data)
skill_stone_up(e:GameEvent,data:any){
console.log("[EquipSkillComp]: skill_stone_up",data)
smc.vmdata.mission_data.skill_stone+=data
if(smc.vmdata.mission_data.skill_stone >= smc.vmdata.mission_data.skill_stone_max){
this.show_skill_get("skill1")
this.show_skill_get("skill2")
this.show_skill_get("skill3")
}
}
fight_ready(){
this.boxs=this.node.getChildByName("boxs")
console.log("[EquipSkillComp]: fight_ready",this.node)
@@ -188,19 +191,40 @@ export class EquipSkillComp extends CCComp {
}
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){
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){
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){
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,15 +24,18 @@ export class EquipsComp extends Component {
oops.message.on(GameEvent.EquipAdd,this.equip_add,this)
oops.message.on(GameEvent.EquipRemove,this.equip_remove,this)
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){
console.log("[EquipsComp]:do_equip_show",data)
equip_stone_up(e:GameEvent,data:any){
console.log("[EquipsComp]:equip_stone_up",data)
smc.vmdata.mission_data.equip_stone+=data
if(smc.vmdata.mission_data.equip_stone >= smc.vmdata.mission_data.equip_stone_max){
this.show_equip_get("weapon")
this.show_equip_get("armor")
this.show_equip_get("accessory")
}
}
start(){
this.fight_ready()
}
@@ -253,20 +256,40 @@ export class EquipsComp extends Component {
}
private show_equip_get(e:string){
this.boxs.getChildByName(e).getChildByName("get").active =true
if(this.weapon.uuid==0){
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){
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){
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){
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(){
oops.message.dispatchEvent(GameEvent.HeroSelect)
}
call_equip_card(){
call_equip_card(e:any,data:any){
let mission_data=smc.vmdata.mission_data
if(mission_data.gold < (mission_data.refresh_gold+mission_data.buff_refresh_gold)){
oops.gui.toast("金币不足", false);
if(mission_data.equip_stone < mission_data.equip_stone_max){
oops.gui.toast("装备石不足", false);
return
}
oops.message.dispatchEvent(GameEvent.EquipSelect)
mission_data.gold-=(mission_data.refresh_gold+mission_data.buff_refresh_gold)
oops.message.dispatchEvent(GameEvent.EquipSelect,{slot:data})
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(){
let mission_data=smc.vmdata.mission_data
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)
}
call_skill_card(e:any,data:any){
console.log("call_skill_card",e)
oops.message.dispatchEvent(GameEvent.HeroSkillSelect,{slot:data})
}
private cleanComponents() {
ecs.query(ecs.allOf(HeroViewComp)).forEach(entity => {entity.remove(HeroViewComp);entity.destroy()});
}