Ejemplo n.º 1
0
    IEnumerator buildGroupPathRequest(Vector3 t, List <Unit> lst)
    {
        PlacementSearch search = new PlacementSearch(lst, Map.instance.getNodeFromLocation(t));

        while (search.status == 0)
        {
            yield return(null);
        }
        if (search.status == 2)
        {
            print("Search failed");
            StopCoroutine(buildGroupPathRequest(t, lst));
        }
        print("Finished search");
        GroupPathRequest req = new GroupPathRequest();

        req.requests   = new List <PathRequest>();
        req.requestees = UnitSelection.selection.playerUnits;
        //print("Movement locations: " + search.movePos.Count);
        if (search.movePos.Count != lst.Count)
        {
            print("Units: " + lst.Count + ", Locs: " + search.movePos.Count);
            StopCoroutine(buildGroupPathRequest(t, lst));
        }
        else
        {
            for (int i = 0; i < lst.Count; i++)
            {
                PathRequest r = UnitSelection.selection.playerUnits[i].makePathRequest(search.movePos[i], 0, 0);
                req.requests.Add(r);
            }
            receiveBatchPathRequest(req);
            print("Finished");
        }
    }
Ejemplo n.º 2
0
 public void receiveBatchPathRequest(GroupPathRequest req)
 {
     pathRequests.Add(req);
 }