示例#1
0
        public void SetRoute(Route _route)
        {
            if (_route == null)
            {
                throw new System.NullReferenceException("route is null");
            }

            if (this.route == null)
            {
                this.route = _route;
                mainRoad   = RouteCreator.CreatePathRoads(ExtractRoadFrom(WorldMap.GetTile(_route.startPoint)), ExtractRoadFrom(WorldMap.GetTile(_route.endPoint)));
                for (int i = 0; i < mainRoad.Count; i++)
                {
                    mainRoad[i].SetColor(RoadColor.Transparent);
                }
            }
            else
            {
                //this.route.HighLight(false);

                this.route = _route;
                current_WP = _route.IndexOf(current);

                if (current_WP < 0)
                {
                    FindWayToRoute();
                }
                sphereCurr.SetPosition(current.Position);

                mainRoad = RouteCreator.CreatePathRoads(ExtractRoadFrom(WorldMap.GetTile(_route.startPoint)), ExtractRoadFrom(WorldMap.GetTile(_route.endPoint)));
                for (int i = 0; i < mainRoad.Count; i++)
                {
                    mainRoad[i].SetColor(RoadColor.Transparent);
                }
                //this.route.HighLight(true);
            }
        }