예제 #1
0
        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);
        }
예제 #2
0
        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;
        }
예제 #3
0
        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);
        }
예제 #4
0
        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.");
        }