import {Player} from "../../schema/Player"; import {Card} from "../../schema/Card"; import {CardGameState} from "../../schema/CardGameState"; import { PlayerHandler } from "./PlayerHandler"; import CfgMan from "../CfgMan"; import { EffectCardType } from "../skill/SkillConst"; import { Pet } from "rooms/schema/Pet"; export class BattleHandler { private _cs: CardGameState; private _players: PlayerHandler[]; public init(cs: CardGameState){ this._cs = cs; }; public addPlayer(aplayer: Player){ let ph = new PlayerHandler(); ph.init(aplayer, this); this._players.push(ph); }; public delPlayer(aplayer: Player){ let idx = this._players.findIndex((item: PlayerHandler)=>{ return item._player == aplayer; }) this._players.splice(idx, 1); }; public getPlayer(aplayer: Player){ return this._players.find((item: PlayerHandler)=>{ return item._player == aplayer; }) }; public useCard(obj: {srcplayer: Player, card: Card, cardpoint: number, eff_cnt: number, dstplayer: Player, dstpet: Pet}) { if(!obj || obj.card){ return false; } let ph = this.getPlayer(obj.srcplayer); if(!ph){ return false; } ph.useCard(obj); }; }