This commit is contained in:
PC-20230316NUNE\Administrator
2024-01-03 15:51:16 +08:00
parent f29aa38a60
commit 252e9ef11d
17 changed files with 470 additions and 165 deletions

View File

@@ -97,6 +97,9 @@ export default class GOnHookMode extends GDefaultMode<{},{}>{
//是否允许攻击
isAllowAttack:boolean = false;
//是否战斗失败
isFail:boolean = false;
//添加监听事件
addEvent(){
app.event.on(PlayerTacticalEvent.UPDATE_TACTICAL,this.onUpdatePlayerPet,this);
@@ -352,7 +355,11 @@ export default class GOnHookMode extends GDefaultMode<{},{}>{
}
//生成敌人
onResetGenerateEnemy(){
onResetFight(){
//初始化战斗失败
this.isFail = false;
this.enemyRoles = [];
let sign = TD.TbGOnHookMaps.get(GOnHookData.getIns().info.onHookMap).sign;
let table:{data:TbGEntity.TOnHookLevel} = TD[sign].get(GOnHookData.getIns().info.levelId);
@@ -376,13 +383,26 @@ export default class GOnHookMode extends GDefaultMode<{},{}>{
role.node.destroy()
},3000)
//清理
this.onClearCache();
//如果死亡的是野怪则通知野怪死亡
if(role.getComponent(GRoleOnHookCreepsExpand)){
GOnHookManager.getIns().onKillSreeps(role.getComponent(GRoleOnHookCreepsExpand).creeps);
//如果野怪都死了 并且 战斗成功 则向服务器发送战斗成功
if(this.enemyRoles.length <= 0 && !this.isFail){
GOnHookManager.getIns().onWinLevel();
}
}
//清理
this.onClearCache();
//如果死亡的是玩家宠物 并且 场上没有玩家宠物则重新战斗
if(role.getComponent(GRoleOnHookPlayerExpand)){
if(this.playerRoles.length <= 0){
//玩家战斗失败
this.isFail = true;
this.onUpdatePlayerPet();
}
}
}

View File

@@ -78,7 +78,7 @@ export default class GFSMOnHookMode extends GFSMBase{
//生成敌人
onGenEnemyProcess(){
this.mode.onResetGenerateEnemy();
this.mode.onResetFight();
return ProcessEnum.LeaveFight; //前往战斗
}