diff --git a/src/rooms/logic/Handler/BattleHandler.ts b/src/rooms/logic/Handler/BattleHandler.ts index ca5338d..b522295 100644 --- a/src/rooms/logic/Handler/BattleHandler.ts +++ b/src/rooms/logic/Handler/BattleHandler.ts @@ -216,7 +216,9 @@ export class BattleHandler { * @param fromplayer : 吃别人的牌,自己胡牌时此参数传空 */ public onCardLinkReady(aplayer: Player, fromplayer?: Player){ - + let ph = this.getPlayer(aplayer); + let fromph = this.getPlayer(fromplayer); + ph && ph.onCardLinkReady(fromph); }; /** @@ -225,7 +227,8 @@ export class BattleHandler { * @param linkcards :吃到的牌组信息 */ public onCardLinkOver(aplayer: Player, linkcards: Card[]){ - + let ph = this.getPlayer(aplayer); + ph && ph.onCardLinkEnd(linkcards); }; /** @@ -235,7 +238,11 @@ export class BattleHandler { public onUseCardEnd(obj: {srcplayer: Player, card: number, cardpoint: number, dbpt_cnt: number, eff_cnt: number, dstplayer: Player, dstpet: Pet} ){ - + if(!obj){ + return; + } + let ph = this.getPlayer(obj.srcplayer); + ph && ph.onUseCardEnd(); }; /** @@ -245,7 +252,9 @@ export class BattleHandler { * @param dropcards : 弃掉的牌组 */ public onCardDroped(aplayer: Player, dropcards: Card[], fromplayer?: Player){ - + let ph = this.getPlayer(aplayer); + let fromph = this.getPlayer(fromplayer); + ph && ph.onCardDroped(dropcards, fromph); }; /** @@ -255,7 +264,9 @@ export class BattleHandler { * @param dropcards : 获得的牌组 */ public onCardGetted(aplayer: Player, getcards: Card[], fromplayer?: Player){ - + let ph = this.getPlayer(aplayer); + let fromph = this.getPlayer(fromplayer); + ph && ph.onCardGetted(getcards, fromph); }; /** @@ -263,7 +274,8 @@ export class BattleHandler { * @param aplayer */ public onPlayerRoundStart(aplayer: Player){ - + let ph = this.getPlayer(aplayer); + ph && ph.onRoundStart(); }; /** @@ -271,7 +283,8 @@ export class BattleHandler { * @param aplayer */ public onPlayerRoundEnd(aplayer: Player){ - + let ph = this.getPlayer(aplayer); + ph && ph.onRoundEnd(); }; public onAddPetNotify(apet: PetHandler){ @@ -279,7 +292,7 @@ export class BattleHandler { }; public onDelPetNotify(apet: PetHandler){ - + return this._room.bRemovePet(apet.exportRemoveData()); }; public onPlayerAddCard(aplayer: PlayerHandler, count: number, maxcount: number){ @@ -291,7 +304,6 @@ export class BattleHandler { }; public onSkillResult(skillres: SkillTarget[]){ - //todo: build skillrest json -> client let lst: SkillInfoMsg[] = []; skillres.forEach((item: SkillTarget)=>{ lst.push(item.exportData()); diff --git a/src/rooms/logic/Handler/PetHandler.ts b/src/rooms/logic/Handler/PetHandler.ts index 7918e9e..28b3fd9 100644 --- a/src/rooms/logic/Handler/PetHandler.ts +++ b/src/rooms/logic/Handler/PetHandler.ts @@ -9,6 +9,7 @@ import { EnhanceEffectType, PowerValueType } from "../skill/SkillConst"; import { PlayerHandler } from "./PlayerHandler"; import { PetInfoMsg } from "../../../message/PetInfo"; import { SkillParam } from "../skill/SkillParam"; +import { RemovePetMsg } from "message/RemovePetMsg"; export class PetHandler { _pet: Pet; @@ -218,4 +219,12 @@ export class PetHandler { }); return obj; }; + + public exportRemoveData(): RemovePetMsg{ + return new RemovePetMsg({ + id: this._id, + player: this._owner.getId(), + pos: this._idx + }) + }; } diff --git a/src/rooms/logic/Handler/PlayerHandler.ts b/src/rooms/logic/Handler/PlayerHandler.ts index 983a557..dd212f1 100644 --- a/src/rooms/logic/Handler/PlayerHandler.ts +++ b/src/rooms/logic/Handler/PlayerHandler.ts @@ -9,6 +9,7 @@ import { UnitCfg } from "cfg/parsers/UnitCfg"; import { Skill } from "../skill/Skill"; import { SkillParam, SkillTarget } from "../skill/SkillParam"; import SkillMan from "../skill/SkillMan"; +import { Card } from "rooms/schema/Card"; export class PlayerHandler { public _player: Player; @@ -60,7 +61,7 @@ export class PlayerHandler { let n = 0; for(let [key, obj] of this._player.pets){ if(n != 0){ - if(obj.ap == 0){ + if(obj.state == 0 || obj.state == 2){ res = obj; break; } @@ -296,4 +297,32 @@ export class PlayerHandler { } return bok; }; + + onCardLinkReady(fromplayer: PlayerHandler){ + + }; + + onCardLinkEnd(linkcards: Card[]){ + + }; + + onCardDroped(dropcards: Card[], srcplayer: PlayerHandler){ + + }; + + onCardGetted(getcards: Card[], srcplayer: PlayerHandler){ + + }; + + onUseCardEnd(){ + + }; + + onRoundStart(){ + + }; + + onRoundEnd(){ + + } }