// Use this for initialization void Start() { map = new PolyMapLoaderT3("polygMap1/x", "polygMap1/y", "polygMap1/goalPos", "polygMap1/startPos", "polygMap1/button", "polygMap1/customerPos"); mapData = map.polyData; R = 5; agents = new List <PolyAgent> (); for (int i = 0; i < mapData.start.Count; i++) { Vector3 start = mapData.start[i]; Vector3 end = mapData.end[i]; agents.Add(new PolyAgent("Agent " + i, start, end, R, "point")); agents [i].agent.renderer.material.color = Color.blue; agents[i].model = gameObject.AddComponent <DynamicPointModel> (); } vrp = new VRPPL(mapData.customers, agents.Count); foreach (PolyAgent agent in agents) { List <Vector3> path = new List <Vector3> (); path.Add(agent.end); agent.model.SetPath(path, agent, mapData.lines); agent.model.StartCoroutineMove(); } }
void OnDrawGizmos() { map = new PolyMapLoaderT3("polygMap1/x", "polygMap1/y", "polygMap1/goalPos", "polygMap1/startPos", "polygMap1/button", "polygMap1/customerPos"); if (map.polyData.nodes != null) { foreach (Vector3 node in map.polyData.nodes) { Gizmos.color = Color.blue; Gizmos.DrawCube(node, Vector3.one); } foreach (Line line in map.polyData.lines) { Gizmos.color = Color.black; Gizmos.DrawLine(line.point1, line.point2); } } Gizmos.color = Color.green; foreach (Vector3 v in map.polyData.start) { Gizmos.DrawCube(v, new Vector3(3, 1, 3)); } Gizmos.color = Color.red; foreach (Vector3 v in map.polyData.end) { Gizmos.DrawCube(v, new Vector3(3, 1, 3)); } Gizmos.color = Color.blue; foreach (Vector3 v in map.polyData.customers) { Gizmos.DrawCube(v, new Vector3(3, 1, 3)); } if (agents != null) { Gizmos.color = Color.magenta; foreach (PolyAgent pagent in agents) { Gizmos.DrawSphere(pagent.agent.transform.position, R); } } }
void Start() { map = new PolyMapLoaderT3("polygMap1/x", "polygMap1/y", "polygMap1/goalPos", "polygMap1/startPos", "polygMap1/button", "polygMap1/customerPos"); polyData = map.polyData; graph = new VGraph(); walkableLines = new List <Line> (); // START VRP R = 3; agents = new List <PolyAgent> (); for (int i = 0; i < polyData.start.Count; i++) { Vector3 start = polyData.start[i]; Vector3 end = polyData.end[i]; agents.Add(new PolyAgent("Agent " + i, start, end, R, "car")); agents [i].agent.renderer.material.color = Color.black; agents[i].model = gameObject.AddComponent <DynamicCarModel> (); //agents[i].model = gameObject.AddComponent<DynamicPointModel> (); } List <Vector3> customers = new List <Vector3> (); // for plotting foreach (Vector3 v in polyData.customers) { customers.Add(v); } vrp = new VRPPL(customers, agents.Count); // END VRP CreateObstacles(); ConstructWalkableLines(); CreateInterObstacleWalk(); // print ("Walkable lines: " + walkableLines.Count); // graph.PrintGraph (); stopwatch.Start(); ready = new List <PolyAgent> (); }
void Start() { map = new PolyMapLoaderT3("polygMap1/x", "polygMap1/y", "polygMap1/goalPos", "polygMap1/startPos", "polygMap1/button", "polygMap1/customerPos"); polyData = map.polyData; graph = new VGraph(); walkableLines = new List <Line> (); // START VRP R = 3; CreateObstacles(); ConstructWalkableLines(); CreateInterObstacleWalk(); agents = new List <T5PolyAgent> (); for (int i = 0; i < polyData.start.Count; i++) { Vector3 start = polyData.start[i]; Vector3 end = polyData.end[i]; agents.Add(new T5PolyAgent("Agent " + i, start, end, R, "car")); agents [i].agent.renderer.material.color = Color.black; agents[i].model = gameObject.AddComponent <T5DynCar> (); List <PolyNode> ppath = pathFinder.AStarSearch(start, end, graph); List <Vector3> path = new List <Vector3> (); foreach (PolyNode node in ppath) { path.Add(node.pos); } agents[i].model.SetPath(path, agents[i], new List <Line> ()); } foreach (T5PolyAgent agent in agents) { agent.model.SetAgents(ref agents); agent.model.StartCoroutineMove(); } stopwatch.Start(); ready = new List <T5PolyAgent> (); }