示例#1
0
        public byte[] PacketizeMessage()
        {
            m_serialization.msg_hdr                    = new RDB_MSG_HDR_t(35712, 0x011e, 24, 448, ++counter, SimTime);
            m_serialization.start_of_frame             = new RDB_MSG_ENTRY_HDR_t(16, 0, 0, 1, 0);
            m_serialization.msg_entry_hdr_object_state = new RDB_MSG_ENTRY_HDR_t(16, 208, 208, 9, 0x01);
            m_serialization.msg_entry_hdr_wheel        = new RDB_MSG_ENTRY_HDR_t(16, 176, 44, 14, 0);
            m_serialization.end_of_frame               = new RDB_MSG_ENTRY_HDR_t(16, 0, 0, 2, 0);

            RDB_GEOMETRY_t geo   = new RDB_GEOMETRY_t(4.6f, 1.86f, 1.6f, 0.8f, 0.0f, 0.3f);
            RDB_COORD_t    pos   = new RDB_COORD_t(Pos.z, -Pos.x, Pos.y, -transform.eulerAngles.y / 180f * Mathf.PI, transform.eulerAngles.x / 180f * Mathf.PI, -transform.eulerAngles.z / 180f * Mathf.PI, 0x01 | 0x02, 0, 0);
            RDB_COORD_t    speed = new RDB_COORD_t(Vel.z, -Vel.x, Vel.y, -localangularvelocity.y, localangularvelocity.x, -localangularvelocity.z, 0x01 | 0x02, 0, 0);

            RDB_OBJECT_STATE_BASE_t object_base = new RDB_OBJECT_STATE_BASE_t(id, 1, 1, 0x06, ClientName, geo, pos, 0, 0, 0);
            RDB_COORD_t             accel       = new RDB_COORD_t(0.0D, 0.0D, 0.0D, 0.0f, 0.0f, 0.0f, 0x01, 0, 0);
            RDB_OBJECT_STATE_EXT_t  object_ext  = new RDB_OBJECT_STATE_EXT_t(speed, accel, 1.0f, spare);

            m_serialization.object_state = new RDB_OBJECT_STATE_t(object_base, object_ext);

            Vector4 steeringAngle = new Vector4(-m_Car.CurrentSteerAngle / 180 * Mathf.PI, -m_Car.CurrentSteerAngle / 180 * Mathf.PI, 0, 0);

            for (int k = 0; k < 4; k++)
            {
                RDB_WHEEL_BASE_t wheel_base = new RDB_WHEEL_BASE_t(id, (byte)k, 0, spare0, 1.0f, -0.025f, rotAngle, 0.0f, steeringAngle[k], spare1);
                m_serialization.wheel[k] = new RDB_WHEEL_t(wheel_base);
            }

            data_serialized = m_serialization.Serialize();
            return(data_serialized);
        }
示例#2
0
 public RDB_OBJECT_STATE_EXT_t  ext;  //(88-byte) extended object data   @unit RDB_OBJECT_STATE_EXT_t    @version 0x0100 */
 public RDB_OBJECT_STATE_t(RDB_OBJECT_STATE_BASE_t Base, RDB_OBJECT_STATE_EXT_t ext)
 {
     this.Base = Base;
     this.ext  = ext;
 }