51 lines
1.3 KiB
TypeScript
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);
|
|
};
|
|
} |