public static TraceConfig GetTraceConfig(int id) { if (_traceConfig.ContainsKey(id)) { return(_traceConfig[id]); } string path = DataAccessor.GetTracePathByID(id); TraceConfigSerializable traceData = DataAccessor.LoadObjectFromJsonFile <TraceConfigSerializable>(path); List <MovePoint> configData = new List <MovePoint>(); foreach (var item in traceData.MovePoints) { configData.Add(new MovePoint(item.x, item.y, item.Angle)); } TraceConfig config = new TraceConfig { MovePoints = configData }; if (traceData != null) { _traceConfig[id] = config; } return(config); }
public override void OnInspectorGUI() { targetTrace = target as LegacyTrace; if (GUILayout.Button("Import")) { string filePath = EditorUtility.OpenFilePanel("导入老数据", FileDefaultDirectory, "dat"); targetTrace.Points = ReadTrackFile(filePath); targetTrace.name = Path.GetFileNameWithoutExtension(filePath); } if (GUILayout.Button("Export")) { int id = Convert.ToInt32(targetTrace.name); string path = DataAccessor.GetTracePathByID(id); List <MovePointSerializable> points = new List <MovePointSerializable>(); foreach (var item in targetTrace.GetPoints()) { points.Add(new MovePointSerializable(item)); } TraceConfigSerializable config = new TraceConfigSerializable { MovePoints = points }; DataAccessor.SaveObjectToJsonFile <TraceConfigSerializable>(config, path); } base.OnInspectorGUI(); }
public override void OnInspectorGUI () { targetTrace = target as LegacyTrace; if(GUILayout.Button("Import")) { string filePath = EditorUtility.OpenFilePanel("导入老数据", FileDefaultDirectory, "dat"); targetTrace.Points = ReadTrackFile(filePath); targetTrace.name = Path.GetFileNameWithoutExtension(filePath); } if(GUILayout.Button("Export")) { int id = Convert.ToInt32(targetTrace.name); string path = DataAccessor.GetTracePathByID(id); List<MovePointSerializable> points = new List<MovePointSerializable>(); foreach (var item in targetTrace.GetPoints()) { points.Add(new MovePointSerializable(item)); } TraceConfigSerializable config = new TraceConfigSerializable{MovePoints = points}; DataAccessor.SaveObjectToJsonFile<TraceConfigSerializable>(config, path); } base.OnInspectorGUI (); }
private void ExportWayPoints() { //TraceConfig config = new TraceConfig(); List <MovePoint> config = _path.GetMovePoints(); List <MovePointSerializable> configSerialize = new List <MovePointSerializable>(); foreach (var item in config) { MovePointSerializable tmp = new MovePointSerializable(item); configSerialize.Add(tmp); } TraceConfigSerializable result = new TraceConfigSerializable { MovePoints = configSerialize }; DataAccessor.SaveObjectToJsonFile <TraceConfigSerializable>(result, DataAccessor.GetTracePathByID(System.Convert.ToInt32(_path.name))); // List<MovePoint> wayPoints = new List<MovePoint>(); // List<Vector3> points = _path.GetPoints(); // for (int i = 0; i < points.Count; i++) // { // if(i < points.Count-1) // { // wayPoints.Add(new MovePoint(points[i], GetAngle(points[i], points[i+1]))); // } // else // { // wayPoints.Add(new MovePoint(points[i])); // } // } // string json = JsonMapper.ToJson(wayPoints); // string savePath = EditorUtility.SaveFilePanel("Save Way Points", string.Empty, "data", "dat"); // System.IO.TextWriter tw = new System.IO.StreamWriter(savePath); // if(tw == null) // { // Debug.LogError("Cannot write to " + savePath); // return; // } // tw.Write(json); // tw.Flush(); // tw.Close(); }
private void ExportWayPoints() { //TraceConfig config = new TraceConfig(); List<MovePoint> config = _path.GetMovePoints(); List<MovePointSerializable> configSerialize = new List<MovePointSerializable>(); foreach (var item in config) { MovePointSerializable tmp = new MovePointSerializable(item); configSerialize.Add(tmp); } TraceConfigSerializable result = new TraceConfigSerializable{MovePoints = configSerialize}; DataAccessor.SaveObjectToJsonFile<TraceConfigSerializable>(result, DataAccessor.GetTracePathByID(System.Convert.ToInt32(_path.name))); // List<MovePoint> wayPoints = new List<MovePoint>(); // List<Vector3> points = _path.GetPoints(); // for (int i = 0; i < points.Count; i++) // { // if(i < points.Count-1) // { // wayPoints.Add(new MovePoint(points[i], GetAngle(points[i], points[i+1]))); // } // else // { // wayPoints.Add(new MovePoint(points[i])); // } // } // string json = JsonMapper.ToJson(wayPoints); // string savePath = EditorUtility.SaveFilePanel("Save Way Points", string.Empty, "data", "dat"); // System.IO.TextWriter tw = new System.IO.StreamWriter(savePath); // if(tw == null) // { // Debug.LogError("Cannot write to " + savePath); // return; // } // tw.Write(json); // tw.Flush(); // tw.Close(); }