99 lines
2.5 KiB
TypeScript
99 lines
2.5 KiB
TypeScript
import { Player } from "../../schema/Player";
|
|
import { PetHandler } from "./PetHandler";
|
|
import { HeroCfg } from "../../../cfg/parsers/HeroCfg";
|
|
import { BattleHandler } from "./BattleHandler";
|
|
import CfgMan from "../CfgMan";
|
|
import { Card } from "rooms/schema/Card";
|
|
import { Pet } from "rooms/schema/Pet";
|
|
import { EffectCardType } from "../skill/SkillConst";
|
|
import { UnitCfg } from "cfg/parsers/UnitCfg";
|
|
import { Skill } from "../skill/Skill";
|
|
|
|
export class PlayerHandler {
|
|
public _player: Player;
|
|
|
|
public _playercfg: HeroCfg;
|
|
|
|
public _self: PetHandler;
|
|
|
|
public _unitcfg: UnitCfg;
|
|
|
|
public _pets: PetHandler[];
|
|
|
|
public _skills: Skill[];
|
|
|
|
public _exskills: Skill[];
|
|
|
|
private _owner: BattleHandler;
|
|
|
|
public init(aplayer: Player, owner: BattleHandler){
|
|
this._owner = owner;
|
|
this._player = aplayer;
|
|
this._playercfg = CfgMan.findPlayerCfg(this._player.heroId);
|
|
this._self = new PetHandler();
|
|
this._self.init(null, this);
|
|
let lst = this._playercfg.exSkill? [this._playercfg.exSkill]: null;
|
|
this._self.setParam({id: this._playercfg.unitId, exskillid: lst});
|
|
this._unitcfg = this._playercfg && CfgMan.findUnitCfg(this._playercfg.unitId);
|
|
};
|
|
|
|
public getCurrCardCount(){
|
|
return 0;
|
|
};
|
|
|
|
public getTotalCardCount(){
|
|
return 0;
|
|
};
|
|
|
|
public newPet(): PetHandler {
|
|
let res = null;
|
|
let pr = null;
|
|
for(let key in this._player.pets){
|
|
let obj = this._player.pets.get(key);
|
|
if(obj.ap == 0){
|
|
res = obj;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if(res){
|
|
pr = new PetHandler;
|
|
pr.init(res, this);
|
|
this._pets.push(pr);
|
|
}
|
|
|
|
return pr;
|
|
};
|
|
|
|
public useCard(obj:
|
|
{card: Card, cardpoint: number, eff_cnt: number, dstplayer: Player, dstpet: Pet})
|
|
{
|
|
let cfg = CfgMan.findEffCardCfg(obj.card.id);
|
|
if(!cfg){
|
|
return false;
|
|
}
|
|
|
|
if(cfg.typeId == EffectCardType.NPC){
|
|
let pet = this.newPet();
|
|
if(!pet){
|
|
return false;
|
|
}
|
|
pet.setParam({id: cfg.eff1Id, ap:obj.cardpoint, effcnt: obj.eff_cnt, exskillid:
|
|
[cfg.eff2Id, cfg.eff3Id, cfg.eff4Id, cfg.eff5Id]});
|
|
|
|
}else if(cfg.typeId == EffectCardType.MAGIC){
|
|
|
|
}
|
|
};
|
|
|
|
public useSkill(obj:{
|
|
skillid: number, dstplayer: Player, dstpet: Pet})
|
|
{
|
|
|
|
};
|
|
|
|
public addSkill(skillid: number){
|
|
|
|
}
|
|
|
|
} |