// 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); }
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--; } } } }