public RecFrameDataSerial Serialize() { RecFrameDataSerial rtn = new RecFrameDataSerial(); rtn.VId = VId; rtn.Pos = new Vector3Serial(Pos); rtn.Rot = new QuaternionSerial(Rot); rtn.XMovement = XMovement; //rtn.ZMovement = ZMovement; rtn.FAngularVelocity = FAV; rtn.RAngularVelocity = RAV; rtn.FLSprL = FLSprL; rtn.FRSprL = FRSprL; rtn.RLSprL = RLSprL; rtn.RRSprL = RRSprL; rtn.FLGnd = FLGnd; rtn.FRGnd = FRGnd; rtn.RLGnd = RLGnd; rtn.RRGnd = RRGnd; if (Events != null) { rtn.Events = Events.ToArray(); } return(rtn); }
public Recrdng(string filename) { Filename = filename; BinaryFormatter bf = new BinaryFormatter(); if (File.Exists(Application.persistentDataPath + "/" + Filename)) { FileStream file = File.Open(Application.persistentDataPath + "/" + Filename, FileMode.Open); RecrdngSerial rs = (RecrdngSerial)bf.Deserialize(file); int _vehCount = rs.Data.GetLength(1); Main.Instance.Vehicles = rs.Vehicles.ToList(); FrameCount = rs.Data.GetLength(0); Data = new List <List <RecFrameData> >(); for (int f = 0; f < FrameCount; f++) { List <RecFrameData> lf = new List <RecFrameData>(); for (int v = 0; v < _vehCount; v++) { RecFrameData rfd = new RecFrameData(); RecFrameDataSerial rfds = rs.Data[f, v]; rfd.VId = rfds.VId; rfd.FAV = (sbyte)rfds.FAngularVelocity; rfd.RAV = (sbyte)rfds.RAngularVelocity; rfd.FLSprL = rfds.FLSprL; rfd.FRSprL = rfds.FRSprL; rfd.RLSprL = rfds.RLSprL; rfd.RRSprL = rfds.RRSprL; rfd.FLGnd = rfds.FLGnd; rfd.FRGnd = rfds.FRGnd; rfd.RLGnd = rfds.RLGnd; rfd.RRGnd = rfds.RRGnd; rfd.Pos = rfds.Pos.V3; rfd.Rot = rfds.Rot.Decode; rfd.XMovement = rfds.XMovement; if (rfds.Events != null) { rfd.Events = rfds.Events.ToList(); } //rfd.Event = new RecEvent {Type = (RecEventType)rfds.EventType, Data = rfds.EventData }; lf.Add(rfd); } Data.Add(lf); } file.Close(); CurrFrame = 0; } }