增加获取卡牌对象的方法

This commit is contained in:
yuexin 2020-12-11 19:23:13 +08:00
parent 9fa0280608
commit 54c161a8e1
2 changed files with 59 additions and 1 deletions

View File

@ -3,13 +3,14 @@ import { HeroCfg } from "cfg/parsers/HeroCfg";
import { SkillCfg } from "cfg/parsers/SkillCfg";
import { UnitCfg } from "cfg/parsers/UnitCfg";
import { BaseConst } from "../../constants/BaseConst";
import { EnhanceEffectType, SkillEffectSignType, SkillEffectValueType } from "./skill/SkillConst";
import { EffectCardType, EnhanceEffectType, SkillEffectSignType, SkillEffectValueType, SkillTargetType } from "./skill/SkillConst";
let CfgMan = {
/**
* findPlayerCfg
*playerid: numer
*/
_cardcache: new Map(),
findPlayerCfg(playerid: number): HeroCfg{
return global.$cfg.get(BaseConst.HERO).get(playerid);
@ -67,6 +68,47 @@ let CfgMan = {
break;
}
return n;
},
getTargetByCard(cardid: number): SkillTargetType{
let obj = this._cardcache.get(cardid + '');
if(obj){
return obj.target;
}
let cardcfg = this.findEffCardCfg(cardid);
if(!cardcfg){
return SkillTargetType.NONE;
}
let res = SkillTargetType.NONE;
let skilllst: number[] = [];
cardcfg.quoteskill1id && skilllst.push(cardcfg.quoteskill1id);
cardcfg.quoteskill2id && skilllst.push(cardcfg.quoteskill2id);
cardcfg.quoteskill3id && skilllst.push(cardcfg.quoteskill3id);
cardcfg.quoteskill4id && skilllst.push(cardcfg.quoteskill4id);
if(cardcfg.type_id == EffectCardType.NPC){
let unitcfg = this.findUnitCfg(cardcfg.stageunit_id);
if(unitcfg){
unitcfg.base_skill1id && skilllst.push(unitcfg.base_skill1id);
unitcfg.base_skill2id && skilllst.push(unitcfg.base_skill2id);
unitcfg.base_skill3id && skilllst.push(unitcfg.base_skill3id);
}
}
for(let i = 0; i < skilllst.length; i++){
let skillcfg = this.findSkillCfg(skilllst[i]);
if(skillcfg && skillcfg.select_targetID != SkillTargetType.NONE){
res = skillcfg.select_targetID;
break;
}
}
this._cardcache.set(cardid + '', {target: res});
return res;
}
};

View File

@ -182,4 +182,20 @@ export const enum PowerValueType {
NONE = 0,
NUMBER = 1,
RATIO = 2,
};
// 目标类型
/**
* 0.
* 1.
* 2.
* 3.
* 4.
*/
export const enum SkillTargetType {
NONE = 0,
ENEMY_PLAYER = 1,
ENEMY_PET = 2,
SELF_PET = 3,
FRIEND_PET = 4,
};