本文整理汇总了C#中Conquest.Maps.BattleMap.findAISpot方法的典型用法代码示例。如果您正苦于以下问题:C# BattleMap.findAISpot方法的具体用法?C# BattleMap.findAISpot怎么用?C# BattleMap.findAISpot使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Conquest.Maps.BattleMap
的用法示例。
在下文中一共展示了BattleMap.findAISpot方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ai_getTarget
// Gets the target
public virtual void ai_getTarget(Unit unit, BattleMap map, bool isUncontrollable, out int[] target, out int[] spotToMoveTo, out AttackInfo info)
{
info= new AttackInfo();
info.range= new int[] {1, 1};
map.aiSearch(unit.mapPos[0], unit.mapPos[1], unit.move, info.range[1], isUncontrollable, map.getTeamID(unit.mapPos), info);
spotToMoveTo= map.findAISpot(unit.mapPos[0], unit.mapPos[1], info.range, map.aggressiveAI);
target= map.tiles.items[spotToMoveTo[0], spotToMoveTo[1]].t;
info= AttackInfo.createBasicAttack(map.getFullUnitID(unit.mapPos), target, ref map);
}
示例2: updateAINormal
// Updates the ai normally
public virtual void updateAINormal(Unit unit, BattleMap map)
{
// Variables
int[] spot;
int[] target= map.getClosestEnemy(unit.mapPos[0], unit.mapPos[1], map.getTeamID(unit.mapPos));
AttackInfo info= AttackInfo.createBasicAttack(map.getFullUnitID(unit.mapPos), target, ref map);
int heuristic;
// Get Target
info.range= new int[] {1, 1};
map.aiSearch(unit.mapPos[0], unit.mapPos[1], unit.move, info.range[1], false, map.getTeamID(unit.mapPos), info, target);
spot= map.findAISpot(unit.mapPos[0], unit.mapPos[1], info.range, map.aggressiveAI);
if(!unit.isWalkingDone)
{
ai_moveUnit(unit, map, spot, false);
map.destroyPaths();
map.endUnitWalking(map.getFullUnitID(unit.mapPos));
if(unit.isTurnEnded)
return;
}
heuristic= map.getHeuristic(unit.mapPos, map.getUnitXY(target));
if(!unit.isAttackingDone && heuristic>= info.range[0] && heuristic<= info.range[1])
{
ai_attackUnit(unit, map, info, false);
map.destroyPaths();
map.endUnitAttacking(map.getFullUnitID(unit.mapPos));
if(unit.isTurnEnded)
return;
}
}