void Save() { HaltCurrentRoute(); // just in case. RouteData[] routes = tokens.Select(t => { // serialize lines Vector3[] points = new Vector3[t.line.positionCount]; for (int i = 0; i < t.line.positionCount; i++) { points[i] = t.line.GetPosition(i); } return(new RouteData { points = points, name = t.selector.text, maxDistance = t.maxDistance, }); }).ToArray(); RouteDataSet s = new RouteDataSet { routes = routes, offsetSpeed = offsetSpeed, intervalSeconds = intervalSeconds, }; RouteSerializer.Instance.Save(s, fileNameInputField.text); }
void Load() { HaltCurrentRoute(); // just in case. RouteDataSet s = RouteSerializer.Instance.Load(fileNameInputField.text); offsetSpeed = s.offsetSpeed; intervalSeconds = s.intervalSeconds; foreach (RouteData route in s.routes) { // deserialize name Token token = AddNewToken(route.name); // deserialzie lines token.line.positionCount = route.points.Length; for (int i = 0; i < route.points.Length; i++) { token.line.SetPosition(i, route.points[i]); } // deserialize route properties token.maxDistance = route.maxDistance; } // initialize sliders. offsetSpeedSlider.value = offsetSpeed; intervalSecondsSlider.value = intervalSeconds; }
public RouteDataSet Load(string fileName) { string path = DataFilePath(fileName); string line = File.ReadAllLines(path)[0]; RouteDataSet routes = JsonUtility.FromJson <RouteDataSet>(line); Debug.Log("loaded Routes from " + path + " with " + routes.routes.Length + " paths."); return(routes); }
public void Save(RouteDataSet routes, string fileName) { Debug.Log(routes.routes.Select(n => n.name).ToArray().Show()); string line = JsonUtility.ToJson(routes); string path = DataFilePath(fileName); File.WriteAllLines(path, new string[] { line }); Debug.Log("saving Routes to " + path + " with " + routes.routes.Length + " paths."); }