//  Read this object from message-in
        internal override bool Read(BinaryReader binaryReader, EndPoint senderEndPoint, int gameVersion)
        {
            if (base.Read(binaryReader, senderEndPoint, gameVersion) == false)
            {
                return(NetworkError());
            }

            //  Entity Detector Type
            MyMwcObjectBuilder_EntityDetector_TypesEnum?entityDetectorType = MyMwcMessageIn.ReadObjectBuilderEntityDetectorTypesEnumEx(binaryReader, senderEndPoint);

            if (entityDetectorType == null)
            {
                return(NetworkError());
            }
            EntityDetectorType = entityDetectorType.Value;
            MyMwcLog.IfNetVerbose_AddToLog("EntityDetectorType: " + EntityDetectorType);

            // Size
            Vector3?size = MyMwcMessageIn.ReadVector3FloatEx(binaryReader, senderEndPoint);

            if (size == null)
            {
                return(NetworkError());
            }
            Size = size.Value;
            MyMwcLog.IfNetVerbose_AddToLog("Size: " + Size.ToString());

            return(true);
        }
        //  Read this object from message-in
        internal override bool Read(BinaryReader binaryReader, EndPoint senderEndPoint, int gameVersion)
        {
            if (base.Read(binaryReader, senderEndPoint, gameVersion) == false) return NetworkError();

            //  Entity Detector Type
            MyMwcObjectBuilder_EntityDetector_TypesEnum? entityDetectorType = MyMwcMessageIn.ReadObjectBuilderEntityDetectorTypesEnumEx(binaryReader, senderEndPoint);
            if (entityDetectorType == null) return NetworkError();
            EntityDetectorType = entityDetectorType.Value;
            MyMwcLog.IfNetVerbose_AddToLog("EntityDetectorType: " + EntityDetectorType);

            // Size
            Vector3? size = MyMwcMessageIn.ReadVector3FloatEx(binaryReader, senderEndPoint);
            if (size == null) return NetworkError();
            Size = size.Value;
            MyMwcLog.IfNetVerbose_AddToLog("Size: " + Size.ToString());

            return true;
        }
Exemplo n.º 3
0
        private void InitSensor(MyMwcObjectBuilder_EntityDetector_TypesEnum type, Vector3 size)
        {
            MySensorElement sensorElement;

            if (type == MyMwcObjectBuilder_EntityDetector_TypesEnum.Sphere)
            {
                MySphereSensorElement sphereSensorElement = new MySphereSensorElement();
                sphereSensorElement.Radius = size.Length() / 2f;
                sensorElement      = sphereSensorElement;
                EntityDetectorType = MyEntityDetectorType.Sphere;
                m_radius           = sphereSensorElement.Radius;
            }
            else if (type == MyMwcObjectBuilder_EntityDetector_TypesEnum.Box)
            {
                MyBoxSensorElement boxSensorElement = new MyBoxSensorElement();
                boxSensorElement.Size = size;
                sensorElement         = boxSensorElement;
                EntityDetectorType    = MyEntityDetectorType.Box;
                m_extent = size / 2f;
            }
            else
            {
                throw new MyMwcExceptionApplicationShouldNotGetHere();
            }

            sensorElement.LocalPosition = Vector3.Zero;
            MySensorDesc senDesc = new MySensorDesc();

            senDesc.m_Element            = sensorElement;
            senDesc.m_Matrix             = Matrix.Identity;
            senDesc.m_SensorEventHandler = this;
            m_sensor.Inserted            = false;
            m_sensor.LoadFromDesc(senDesc);
            m_sensor.Active = true;
            m_size          = size;
        }
Exemplo n.º 4
0
        private void InitSensor(MyMwcObjectBuilder_EntityDetector_TypesEnum type, Vector3 size)
        {
            MySensorElement sensorElement;

            if (type == MyMwcObjectBuilder_EntityDetector_TypesEnum.Sphere)
            {
                MySphereSensorElement sphereSensorElement = new MySphereSensorElement();
                sphereSensorElement.Radius = size.Length() / 2f;
                sensorElement = sphereSensorElement;
                EntityDetectorType = MyEntityDetectorType.Sphere;
                m_radius = sphereSensorElement.Radius;
            }
            else if (type == MyMwcObjectBuilder_EntityDetector_TypesEnum.Box)
            {
                MyBoxSensorElement boxSensorElement = new MyBoxSensorElement();
                boxSensorElement.Size = size;
                sensorElement = boxSensorElement;
                EntityDetectorType = MyEntityDetectorType.Box;
                m_extent = size / 2f;
            }
            else
            {
                throw new MyMwcExceptionApplicationShouldNotGetHere();
            }

            sensorElement.LocalPosition = Vector3.Zero;
            MySensorDesc senDesc = new MySensorDesc();
            senDesc.m_Element = sensorElement;
            senDesc.m_Matrix = Matrix.Identity;
            senDesc.m_SensorEventHandler = this;
            m_sensor.Inserted = false;
            m_sensor.LoadFromDesc(senDesc);
            m_sensor.Active = true;
            m_size = size;           
        }
 public MyMwcObjectBuilder_EntityDetector(Vector3 size, MyMwcObjectBuilder_EntityDetector_TypesEnum entityDetectorType)
 {
     Size = size;
     EntityDetectorType = entityDetectorType;
 }
 public MyMwcObjectBuilder_EntityDetector(Vector3 size, MyMwcObjectBuilder_EntityDetector_TypesEnum entityDetectorType)            
 {
     Size = size;
     EntityDetectorType = entityDetectorType;
 }
Exemplo n.º 7
0
 public static void WriteObjectBuilderEntityDetectorTypesEnum(MyMwcObjectBuilder_EntityDetector_TypesEnum val, BinaryWriter binaryWriter)
 {
     binaryWriter.Write((ushort)val);
 }