private void InitHq() { EnemyHq = Nodes.First(n => IsEnemy(n.OwnerId)); MyHq = Nodes.First(n => IsMe(n.OwnerId)); Astar.CacheDist(Nodes, MyHq.Id, EnemyHq.Id); SilkRoad = Astar.FindPath2(Nodes, MyHq.Id, EnemyHq.Id); //NearestNodes = Nodes.OrderBy(n => n.DistToMyBase).ToArray(); Player.Print($"path {SilkRoad.Count}"); DistMapFromMe = new int[Nodes.Length]; for (int i = 0; i < Nodes.Length; i++) { DistMapFromMe[i] = Nodes[i].DistToMyBase; } DistMapFromEnemy = new int[Nodes.Length]; for (int i = 0; i < Nodes.Length; i++) { DistMapFromEnemy[i] = Nodes[i].DistToEnemyBase; } DistMapNone = new int[Nodes.Length]; PathMap = new int[Nodes.Length]; PathPlague = new int[Nodes.Length]; }