修改了挺多, 继续完善 战斗流程设计

This commit is contained in:
2025-06-13 10:59:41 +08:00
parent 3312c2addf
commit 2376c952d2
12 changed files with 2544 additions and 1640 deletions

View File

@@ -3,7 +3,7 @@ import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ec
import { CCComp } from "../../../../extensions/oops-plugin-framework/assets/module/common/CCComp";
import { smc } from "../common/SingletonModuleComp";
import { oops } from "../../../../extensions/oops-plugin-framework/assets/core/Oops";
import { MissionData, Missions, MissionStatus} from "../common/config/Mission";
import { FightSet, MissionData, Missions, MissionStatus} from "../common/config/Mission";
import { Timer } from "../../../../extensions/oops-plugin-framework/assets/core/common/timer/Timer";
import { GameEvent } from "../common/config/GameEvent";
import { HeroViewComp } from "../hero/HeroViewComp";
@@ -21,21 +21,42 @@ export class MissionComp extends CCComp {
reward:number = 0;
reward_num:number = 0;
GlodAddTimer:Timer = new Timer(1);
waveTimer:Timer = new Timer(10);
normal_max_wave:number = 10;
is_fight:boolean = false;
onLoad(){
this.on(GameEvent.MissionStart,this.mission_start,this)
this.on(GameEvent.FightEnd,this.fight_end,this)
this.on(GameEvent.MissionEnd,this.mission_end,this)
this.on(GameEvent.CardsClose,this.after_used_skill_card,this)
this.on(GameEvent.WaveUpdate,this.on_mon_wave_update,this)
}
protected update(dt: number): void {
if(!smc.mission.play||smc.mission.pause){
return
}
if(this.GlodAddTimer.update(dt)){
smc.vmdata.mission_data.gold+=smc.vmdata.mission_data.add_gold
if(smc.vmdata.mission_data.in_fight){
smc.vmdata.mission_data.fight_time+=dt
if(this.GlodAddTimer.update(dt)){
smc.vmdata.mission_data.gold+=(smc.vmdata.mission_data.add_gold+smc.vmdata.mission_data.buff_add_gold)
}
}
}
private on_mon_wave_update(){
smc.vmdata.mission_data.current_wave++
console.log("[任务系统] 当前波次 :",smc.vmdata.mission_data.current_wave)
switch(smc.vmdata.mission_data.current_wave){
case FightSet.FRIND_WAVE_UP:
this.to_hero_select()
break
case 2:
break
case 3:
}
}
async mission_start(){
@@ -60,15 +81,10 @@ export class MissionComp extends CCComp {
after_used_skill_card(){
switch(smc.mission.status){
case MissionStatus.ready_skill_select:
console.log("next to_hero_select")
console.log("next => to_fight")
this.scheduleOnce(()=>{
this.to_hero_select()
this.to_fight()
},0.3)
break
case MissionStatus.ready_hero_select:
console.log("netx to_fight")
this.to_fight()
break
case MissionStatus.playing:
break
@@ -82,6 +98,7 @@ export class MissionComp extends CCComp {
to_fight(){
smc.mission.status=MissionStatus.playing
smc.vmdata.mission_data.in_fight=true
oops.message.dispatchEvent(GameEvent.FightStart)
}
@@ -99,9 +116,11 @@ export class MissionComp extends CCComp {
this.cleanComponents()
}, 0.5)
}
mission_end(){
this.node.active=false
}
data_init(){
//局内数据初始化
console.log("局内数据初始化")
@@ -121,12 +140,13 @@ export class MissionComp extends CCComp {
}
card_refresh(){
if(smc.vmdata.mission_data.gold< smc.vmdata.mission_data.refresh_gold){
let mission_data=smc.vmdata.mission_data
if(mission_data.gold < (mission_data.refresh_gold+mission_data.buff_refresh_gold)){
oops.gui.toast("金币不足", false);
return
}
oops.message.dispatchEvent(GameEvent.CardRefresh)
smc.vmdata.mission_data.gold-=smc.vmdata.mission_data.refresh_gold
mission_data.gold-=(mission_data.refresh_gold+mission_data.buff_refresh_gold)
}