card_svr/src/rooms/logic/Handler/BattleHandler.ts

51 lines
1.3 KiB
TypeScript

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);
};
}