// AStar Listener private void StartAStar(Vector2Int targetPos) { enabled = true; _targetPos = new Vector2Int(1000, 0); // null value AStar.Current = null; AStar.StartPos = new Vector2Int((int)transform.position.x, (int)transform.position.y); AStar.GoalPos = targetPos; AStar.Path = null; AStar.PathFinding(_manager.GameBoard); }
private void CheckTargetPosition() { if (Target != null && gameObject.activeSelf) { Vector3Int TargetPos = Vector3Int.RoundToInt(Target.transform.position); bool targetInRange = DistanceBtwTarget < _sightRange; if ((_aStar.GoalPos != TargetPos && targetInRange) || targetInRange) // if the player is in range, try to find a path { _aStar.SetupVariables(transform.position, TargetPos); _aStar.PathFinding(); } } }