public virtual void CalculateMovementRange(bool andHighlight = false) { m_currentMovementRange = RangeAlgorithms.SearchByParameters(_gridObject.m_CurrentGridTile, m_MovementRangeParameters); if (andHighlight) { HighlightMovementRange(); } }
public void CalculateAttackRange(RangeParameters attackParam, bool andHighlight = false) { m_CurrentAttackRange = RangeAlgorithms.SearchByParameters(m_GridObject.m_CurrentGridTile, attackParam); if (andHighlight) { HighlightAttackRange(true); } }
public void CalculateAttackRange(bool andHighlight = false) { ClearAttackRange(); m_currentAttackRange = RangeAlgorithms.SearchByParameters(_tacticsCharacter._gridObject.m_CurrentGridTile, m_AttackRangeParameters); if (andHighlight) { HighlightAttackRange(); } }
public void CalculateRange() { var newRange = new List <GridTile>(); newRange = RangeAlgorithms.SearchByParameters(_gridObject.m_CurrentGridTile, m_RangeParameters); if (newRange != null && newRange.Count > 0) { ClearVisualPath(); _currentRange = newRange; PopulateVisualRange(); } }
public void CalculateMovementRange(bool andHighlight = false) { if (m_CurrentMouvementPoints <= 0) { return; } RangeParameters rangeParam = new RangeParameters(m_MovementRangeParameters); rangeParam.m_MaxReach = m_CurrentMouvementPoints; m_CurrentMovementRange = RangeAlgorithms.SearchByParameters(m_GridObject.m_CurrentGridTile, rangeParam, m_PathWalker.m_CanFly); if (andHighlight) { HighlightMovementRange(true); } }
public void CalculateAttackRangeWithVictimsOnly(bool andHighlight, bool unhighlightPrevious = false) { ClearAttackRange(); var range = RangeAlgorithms.SearchByParameters(_tacticsCharacter._gridObject.m_CurrentGridTile, m_AttackRangeParameters); foreach (GridTile tile in range) { var victimAtPosition = GetAttackableUnitAtTile(tile); if (victimAtPosition != null) { if (!m_currentAttackRange.Contains(tile)) { m_currentAttackRange.Add(tile); } } } if (andHighlight) { HighlightAttackRange(unhighlightPrevious); } }
public virtual void GetTargetInRange() { // Reset the current target if (m_CurrentTarget != null) { ResetTarget(); } var tilesInRange = RangeAlgorithms.SearchByParameters(_gridObject.m_CurrentGridTile, m_SightRangeParamters); // Chase the chosen target when it is in range if (m_TargetToChase != null) { foreach (GridTile tile in tilesInRange) { var gridObjectAtTile = GridManager.Instance.GetGridObjectAtPosition(tile.m_GridPosition); if (gridObjectAtTile != null && gridObjectAtTile == m_TargetToChase && gridObjectAtTile != _gridObject) { SetTarget(gridObjectAtTile); break; } } } }
public override List <GridTile> GetTargetTiles() { var targetTiles = RangeAlgorithms.SearchByParameters(_gridObject.m_CurrentGridTile, m_RangeParameters); return(targetTiles); }