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 {
|
export class BattleHandler {
|
||||||
private _cs: CardGameState;
|
private _cs: CardGameState;
|
||||||
private _players: PlayerHandler[];
|
|
||||||
|
private _players: Map<Player, PlayerHandler> = new Map();
|
||||||
|
|
||||||
public init(cs: CardGameState){
|
public init(cs: CardGameState){
|
||||||
this._cs = cs;
|
this._cs = cs;
|
||||||
@ -17,20 +18,15 @@ export class BattleHandler {
|
|||||||
public addPlayer(aplayer: Player){
|
public addPlayer(aplayer: Player){
|
||||||
let ph = new PlayerHandler();
|
let ph = new PlayerHandler();
|
||||||
ph.init(aplayer, this);
|
ph.init(aplayer, this);
|
||||||
this._players.push(ph);
|
this._players.set(aplayer, ph);
|
||||||
};
|
};
|
||||||
|
|
||||||
public delPlayer(aplayer: Player){
|
public delPlayer(aplayer: Player){
|
||||||
let idx = this._players.findIndex((item: PlayerHandler)=>{
|
this._players.delete(aplayer);
|
||||||
return item._player == aplayer;
|
|
||||||
})
|
|
||||||
this._players.splice(idx, 1);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
public getPlayer(aplayer: Player){
|
public getPlayer(aplayer: Player){
|
||||||
return this._players.find((item: PlayerHandler)=>{
|
return this._players.get(aplayer);
|
||||||
return item._player == aplayer;
|
|
||||||
})
|
|
||||||
};
|
};
|
||||||
|
|
||||||
public useCard(obj:
|
public useCard(obj:
|
||||||
@ -48,4 +44,78 @@ export class BattleHandler {
|
|||||||
|
|
||||||
ph.useCard(obj);
|
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 { Card } from "rooms/schema/Card";
|
||||||
import { Pet } from "rooms/schema/Pet";
|
import { Pet } from "rooms/schema/Pet";
|
||||||
import { EffectCardType } from "../skill/SkillConst";
|
import { EffectCardType } from "../skill/SkillConst";
|
||||||
|
import { UnitCfg } from "cfg/parsers/UnitCfg";
|
||||||
|
|
||||||
export class PlayerHandler {
|
export class PlayerHandler {
|
||||||
public _player: Player;
|
public _player: Player;
|
||||||
|
|
||||||
public _playercfg: HeroCfg;
|
public _playercfg: HeroCfg;
|
||||||
|
|
||||||
|
public _unitcfg: UnitCfg;
|
||||||
|
|
||||||
public _pets: PetHandler[];
|
public _pets: PetHandler[];
|
||||||
|
|
||||||
private _owner: BattleHandler;
|
private _owner: BattleHandler;
|
||||||
@ -20,6 +23,7 @@ export class PlayerHandler {
|
|||||||
this._owner = owner;
|
this._owner = owner;
|
||||||
this._player = aplayer;
|
this._player = aplayer;
|
||||||
this._playercfg = CfgMan.findPlayerCfg(this._player.heroId);
|
this._playercfg = CfgMan.findPlayerCfg(this._player.heroId);
|
||||||
|
this._unitcfg = this._playercfg && CfgMan.findUnitCfg(this._playercfg.unitId);
|
||||||
};
|
};
|
||||||
|
|
||||||
public getCurrCardCount(){
|
public getCurrCardCount(){
|
||||||
@ -68,6 +72,16 @@ export class PlayerHandler {
|
|||||||
}else if(cfg.typeId == EffectCardType.MAGIC){
|
}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 { PetHandler } from "../Handler/PetHandler";
|
||||||
|
import { TriggerType } from "./SkillConst";
|
||||||
import TriggerManager from "./TriggerMan";
|
import TriggerManager from "./TriggerMan";
|
||||||
|
|
||||||
let con = require('constant');
|
|
||||||
|
|
||||||
let SK_TYPE = con.SKILL_TYPE;
|
|
||||||
let TG_TYPE = con.TRIGGER_TYPE;
|
|
||||||
|
|
||||||
export class Skill {
|
export class Skill {
|
||||||
_currCount: number;
|
_currCount: number;
|
||||||
_roundCount: number;
|
_roundCount: number;
|
||||||
@ -136,19 +132,9 @@ export class Skill {
|
|||||||
return this._data && (this._data.is_sp == 1);
|
return this._data && (this._data.is_sp == 1);
|
||||||
};
|
};
|
||||||
|
|
||||||
// 是否是位移技能
|
|
||||||
isMapSkill() {
|
|
||||||
return false; //this._type == SK_TYPE.DASH_ATK || this._type == SK_TYPE.BACK_ATK;
|
|
||||||
};
|
|
||||||
|
|
||||||
// 是否是获得即起效技能
|
// 是否是获得即起效技能
|
||||||
isIMMSkill() {
|
isIMMSkill() {
|
||||||
return this._data && (this._data.trigger_id == TG_TYPE.IMM);
|
return this._data && (this._data.trigger_id == TriggerType.NO_COND);
|
||||||
};
|
|
||||||
|
|
||||||
// 是否是抢先攻击技能
|
|
||||||
isDefFirstSkill() {
|
|
||||||
return this._data && (this._type == SK_TYPE.ATK_FIRST);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
canComposition() {
|
canComposition() {
|
||||||
@ -176,7 +162,7 @@ export class Skill {
|
|||||||
};
|
};
|
||||||
|
|
||||||
checkTrigger(tg_type: any, tg_value: any, tg_target: any, cb: any) {
|
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++;
|
this._roundCount++;
|
||||||
if (this._start) {
|
if (this._start) {
|
||||||
this._startround++;
|
this._startround++;
|
||||||
|
@ -38,6 +38,8 @@ export const enum TriggerType
|
|||||||
ROUND_END_MYSELF = 5,
|
ROUND_END_MYSELF = 5,
|
||||||
|
|
||||||
CARD_GETTED = 6,
|
CARD_GETTED = 6,
|
||||||
|
|
||||||
|
ROUND_START_MYSELF = 6,
|
||||||
};
|
};
|
||||||
|
|
||||||
export const enum SkillType{
|
export const enum SkillType{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user