Exemple #1
0
    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];
    }