增加获取卡牌对象的方法
This commit is contained in:
parent
9fa0280608
commit
54c161a8e1
@ -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;
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -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,
|
||||
};
|
Loading…
x
Reference in New Issue
Block a user