public override void SetDataFromByteArray(byte[] byteArray)
        {
            Deserializer d = new Deserializer(byteArray);

            states = new List <ShipState>();
            ShipState curState;

            while (d.GetNumBytesRemaining() > 0)
            {
                curState                    = new ShipState();
                curState.id                 = d.GetNextInt();
                curState.Position           = d.GetNextVector3();
                curState.Velocity           = d.GetNextVector3();
                curState.Orientation        = d.GetNextQuaternion();
                curState.RotationalVelocity = d.GetNextVector3();

                states.Add(curState);
            }
        }
        public override void SetDataFromByteArray(byte[] byteArray)
        {
            Deserializer d = new Deserializer(byteArray);
            states = new List<ShipState>();
            ShipState curState;
            while (d.GetNumBytesRemaining() > 0) {
                curState = new ShipState();
                curState.id = d.GetNextInt();
                curState.Position = d.GetNextVector3();
                curState.Velocity = d.GetNextVector3();
                curState.Orientation = d.GetNextQuaternion();
                curState.RotationalVelocity = d.GetNextVector3();

                states.Add(curState);
            }
        }