// 根据战士类型和阵营来创建AI,根据阵营和战士类型来创建目标选择策略 public AIBase createAI(Toy pToy, HERO_TYPE eHeroType, CAMP_TYPE eCampType) { AIBase pAI = null; switch (eHeroType) { case HERO_TYPE.AI_WARRIOR: // 战士 case HERO_TYPE.AI_MASTER: // 法师 case HERO_TYPE.AI_TANKING: // 肉盾 case HERO_TYPE.AI_SHOOTER: // 射手 case HERO_TYPE.AI_WIZARD: // 巫师 case HERO_TYPE.AI_PARADIN: // 奶骑 { pAI = createHeroAI(eCampType); IBehavior pBehavior = null; // 设置IDLE行为 pBehavior = new IdleBehavior(); pAI.setIdleBehavior(pBehavior); // 设置思考行为 pBehavior = new ThinkBehavior(); pAI.setThinkBehavior(pBehavior); // 冷却行为 pBehavior = new CoolDownBehavior(); pAI.setCoolDownBehavior(pBehavior); // 设置攻击行为 pBehavior = new AttackBehavior(); pAI.setAttackBehavior(pBehavior); // 设置选择策略 IChoiceStrategy pChoiceStrategy = createChooseStrategy(); pAI.setChoiceStrategy(pChoiceStrategy); } break; default: break; } return pAI; }
public void setType(HERO_TYPE a) { type = a; }