add trigger interface
This commit is contained in:
parent
2c72c2e0de
commit
c25a0d5c1c
@ -8,7 +8,8 @@ import { Pet } from "rooms/schema/Pet";
|
||||
|
||||
export class BattleHandler {
|
||||
private _cs: CardGameState;
|
||||
private _players: PlayerHandler[];
|
||||
|
||||
private _players: Map<Player, PlayerHandler> = new Map();
|
||||
|
||||
public init(cs: CardGameState){
|
||||
this._cs = cs;
|
||||
@ -17,20 +18,15 @@ export class BattleHandler {
|
||||
public addPlayer(aplayer: Player){
|
||||
let ph = new PlayerHandler();
|
||||
ph.init(aplayer, this);
|
||||
this._players.push(ph);
|
||||
this._players.set(aplayer, ph);
|
||||
};
|
||||
|
||||
public delPlayer(aplayer: Player){
|
||||
let idx = this._players.findIndex((item: PlayerHandler)=>{
|
||||
return item._player == aplayer;
|
||||
})
|
||||
this._players.splice(idx, 1);
|
||||
this._players.delete(aplayer);
|
||||
};
|
||||
|
||||
public getPlayer(aplayer: Player){
|
||||
return this._players.find((item: PlayerHandler)=>{
|
||||
return item._player == aplayer;
|
||||
})
|
||||
return this._players.get(aplayer);
|
||||
};
|
||||
|
||||
public useCard(obj:
|
||||
@ -48,4 +44,78 @@ export class BattleHandler {
|
||||
|
||||
ph.useCard(obj);
|
||||
};
|
||||
|
||||
/**
|
||||
*
|
||||
* @param obj
|
||||
*/
|
||||
public useSkill(obj:{
|
||||
srcplayer: Player, skillid: number, dstplayer: Player, dstpet: Pet
|
||||
}){
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* 吃牌/胡牌确认
|
||||
* @param aplayer : 玩家
|
||||
* @param fromplayer : 吃别人的牌,自己胡牌时此参数传空
|
||||
*/
|
||||
public onCardLinkReady(aplayer: Player, fromplayer?: Player){
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* 吃牌/胡牌结束(暂时不用)
|
||||
* @param aplayer :玩家
|
||||
* @param linkcards :吃到的牌组信息
|
||||
*/
|
||||
public onCardLinkOver(aplayer: Player, linkcards: Card[]){
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* 使用卡牌结束(暂时自动回调,无需外部触发)
|
||||
* @param obj :使用卡牌相关操作
|
||||
*/
|
||||
public onUseCardEnd(obj:
|
||||
{srcplayer: Player, card: Card, cardpoint: number, eff_cnt: number, dstplayer: Player, dstpet: Pet}
|
||||
){
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* 弃牌完成
|
||||
* @param aplayer :玩家
|
||||
* @param fromplayer : 谁使玩家弃牌的(自己主动弃牌的传空)
|
||||
* @param dropcards : 弃掉的牌组
|
||||
*/
|
||||
public onCardDroped(aplayer: Player, dropcards: Card[], fromplayer?: Player){
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取牌完成
|
||||
* @param aplayer :玩家
|
||||
* @param fromplayer : 谁使玩家获得牌的(自己主动获得牌的传空)
|
||||
* @param dropcards : 获得的牌组
|
||||
*/
|
||||
public onCardGetted(aplayer: Player, getcards: Card[], fromplayer?: Player){
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* 玩家回合开始
|
||||
* @param aplayer
|
||||
*/
|
||||
public onPlayerRoundStart(aplayer: Player){
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 玩家回合结束
|
||||
* @param aplayer
|
||||
*/
|
||||
public onPlayerRoundEnd(aplayer: Player){
|
||||
|
||||
}
|
||||
}
|
@ -35,6 +35,6 @@ export class PetHandler {
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
@ -6,12 +6,15 @@ 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";
|
||||
|
||||
export class PlayerHandler {
|
||||
public _player: Player;
|
||||
|
||||
public _playercfg: HeroCfg;
|
||||
|
||||
public _unitcfg: UnitCfg;
|
||||
|
||||
public _pets: PetHandler[];
|
||||
|
||||
private _owner: BattleHandler;
|
||||
@ -20,6 +23,7 @@ export class PlayerHandler {
|
||||
this._owner = owner;
|
||||
this._player = aplayer;
|
||||
this._playercfg = CfgMan.findPlayerCfg(this._player.heroId);
|
||||
this._unitcfg = this._playercfg && CfgMan.findUnitCfg(this._playercfg.unitId);
|
||||
};
|
||||
|
||||
public getCurrCardCount(){
|
||||
@ -68,6 +72,16 @@ export class PlayerHandler {
|
||||
}else if(cfg.typeId == EffectCardType.MAGIC){
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
public useSkill(obj:{
|
||||
skillid: number, dstplayer: Player, dstpet: Pet})
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
public addSkill(skillid: number){
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -1,11 +1,7 @@
|
||||
import { PetHandler } from "../Handler/PetHandler";
|
||||
import { TriggerType } from "./SkillConst";
|
||||
import TriggerManager from "./TriggerMan";
|
||||
|
||||
let con = require('constant');
|
||||
|
||||
let SK_TYPE = con.SKILL_TYPE;
|
||||
let TG_TYPE = con.TRIGGER_TYPE;
|
||||
|
||||
export class Skill {
|
||||
_currCount: number;
|
||||
_roundCount: number;
|
||||
@ -136,19 +132,9 @@ export class Skill {
|
||||
return this._data && (this._data.is_sp == 1);
|
||||
};
|
||||
|
||||
// 是否是位移技能
|
||||
isMapSkill() {
|
||||
return false; //this._type == SK_TYPE.DASH_ATK || this._type == SK_TYPE.BACK_ATK;
|
||||
};
|
||||
|
||||
// 是否是获得即起效技能
|
||||
isIMMSkill() {
|
||||
return this._data && (this._data.trigger_id == TG_TYPE.IMM);
|
||||
};
|
||||
|
||||
// 是否是抢先攻击技能
|
||||
isDefFirstSkill() {
|
||||
return this._data && (this._type == SK_TYPE.ATK_FIRST);
|
||||
return this._data && (this._data.trigger_id == TriggerType.NO_COND);
|
||||
};
|
||||
|
||||
canComposition() {
|
||||
@ -176,7 +162,7 @@ export class Skill {
|
||||
};
|
||||
|
||||
checkTrigger(tg_type: any, tg_value: any, tg_target: any, cb: any) {
|
||||
if (tg_type == TG_TYPE.MYGROUPROUND_START) {
|
||||
if (tg_type == TriggerType.ROUND_START_MYSELF) {
|
||||
this._roundCount++;
|
||||
if (this._start) {
|
||||
this._startround++;
|
||||
|
@ -38,6 +38,8 @@ export const enum TriggerType
|
||||
ROUND_END_MYSELF = 5,
|
||||
|
||||
CARD_GETTED = 6,
|
||||
|
||||
ROUND_START_MYSELF = 6,
|
||||
};
|
||||
|
||||
export const enum SkillType{
|
||||
|
Loading…
x
Reference in New Issue
Block a user