diff --git a/src/rooms/logic/Handler/BattleHandler.ts b/src/rooms/logic/Handler/BattleHandler.ts index c646dbc..57d57f9 100644 --- a/src/rooms/logic/Handler/BattleHandler.ts +++ b/src/rooms/logic/Handler/BattleHandler.ts @@ -560,7 +560,12 @@ export class BattleHandler { * 一局游戏结束 */ public onGameEnd(){ - + this._players.forEach((item: PlayerHandler) => { + item.clear(true); + }); + this._players.clear(); + this._playerids.clear(); + this._gamestart = false; }; // end-------------------------------------------------- diff --git a/src/rooms/logic/Handler/PetHandler.ts b/src/rooms/logic/Handler/PetHandler.ts index 27a00a8..e378454 100644 --- a/src/rooms/logic/Handler/PetHandler.ts +++ b/src/rooms/logic/Handler/PetHandler.ts @@ -379,11 +379,13 @@ export class PetHandler { return this._rebornskill != null && !this._isSilent && !this._hasreborned; }; - public clear(){ + public clear(resetAll: boolean = false){ if(this._halos.length > 0){ this._halos.length = 0; this.clearEffHalos(); - this._owner.onHaloRemove(this); + if(!resetAll){ + this._owner.onHaloRemove(this); + } } this._waitskills.length = 0; }; diff --git a/src/rooms/logic/Handler/PlayerHandler.ts b/src/rooms/logic/Handler/PlayerHandler.ts index cf330df..9348d53 100644 --- a/src/rooms/logic/Handler/PlayerHandler.ts +++ b/src/rooms/logic/Handler/PlayerHandler.ts @@ -45,8 +45,11 @@ export class PlayerHandler { this._unitcfg = this._playercfg && CfgMan.findUnitCfg(this._playercfg.herounit_id); }; - public clear(){ + public clear(bresetAll: boolean = false){ this._self = null; + this._pets.forEach((item: PetHandler)=>{ + item.clear(bresetAll); + }); this._pets.length = 0; };