Beispiel #1
0
    // The Vector3 based implementation
    public UPath FindPath(Vector3 startLoc, Vector3 endLoc)
    {
        Vector3 loc1      = gridScript.DetermineNearestPoint(startLoc, endLoc, 0);
        Vector3 loc2      = gridScript.DetermineNearestPoint(endLoc, startLoc, 0);
        int     pointLoc1 = DetermineLoc(loc1);
        int     pointLoc2 = DetermineLoc(loc2);
        UPath   mp        = new UPath();

        mp     = FindNormalPath(pointLoc1, pointLoc2);
        myPath = mp;
        return(mp);
    }
Beispiel #2
0
 public void Produce(Group g, int group, UGrid grid, int gridI)
 {
     for (int x = 0; x < canBuildAtOnce; x++)
     {
         if (x < jobsAmount)
         {
             if (jobs[x].Produce())
             {
                 Vector3        loc    = grid.DetermineNearestPoint(buildLoc.transform.position, buildLoc.transform.position, gridI);
                 GameObject     obj    = GameObject.Instantiate(g.unitList[jobs[x].groupIndex].obj, loc, Quaternion.identity) as GameObject;
                 UnitController script = obj.GetComponent <UnitController>();
                 if (script)
                 {
                     script.group = group;
                 }
                 jobs.RemoveAt(x);
                 x--;
                 jobsAmount--;
             }
         }
     }
 }
 public void Produce(Group g, int group, UGrid grid, int gridI)
 {
     for(int x = 0; x < canBuildAtOnce; x++){
         if(x < jobsAmount){
             if(jobs[x].Produce()){
                 Vector3 loc = grid.DetermineNearestPoint(buildLoc.transform.position, buildLoc.transform.position, gridI);
                 GameObject obj = GameObject.Instantiate(g.unitList[jobs[x].groupIndex].obj, loc, Quaternion.identity) as GameObject;
                 UnitController script = obj.GetComponent<UnitController>();
                 if(script)
                     script.group = group;
                 jobs.RemoveAt(x);
                 x--;
                 jobsAmount--;
             }
         }
     }
 }