public int AddPath(int locationX, int locationY) { List<MapPathSetting> paths = new List<MapPathSetting>(MapData.Paths); MapPathSetting path = new MapPathSetting(); path.ColorR = Random.value; path.ColorG = Random.value; path.ColorB = Random.value; MapWaypointSetting waypoint = new MapWaypointSetting(); waypoint.X = locationX; waypoint.Y = locationY; path.Waypoints = new MapWaypointSetting[] { waypoint }; paths.Add(path); MapData.Paths = paths.ToArray(); Modify(EditorEvent.MAP_UPDATE_PATHS, null); return paths.Count - 1; }
public void SetPathPoint(int pathIndex, int? pointIndex, int locationX, int locationY) { MapPathSetting path = MapData.Paths[pathIndex]; MapWaypointSetting waypoint = new MapWaypointSetting(); waypoint.X = locationX; waypoint.Y = locationY; if (pointIndex != null) { path.Waypoints[pointIndex.Value] = waypoint; } else { var waypoints = path.Waypoints.ToList<MapWaypointSetting>(); waypoints.Add(waypoint); path.Waypoints = waypoints.ToArray(); } InfoMap infos = new InfoMap(); infos["index"] = pathIndex; Modify(EditorEvent.MAP_UPDATE_PATH, infos); }