Ejemplo n.º 1
0
        private void ChangeModelLod0(MyMwcObjectBuilder_CargoBox_TypesEnum cargoBoxType)
        {
            var modelLod0Enum = GetModelLod0EnumFromType(cargoBoxType);
            var modelLod0     = MyModels.GetModelForDraw(modelLod0Enum);

            m_modelLod0 = modelLod0;
        }
Ejemplo n.º 2
0
        public void Init(string hudLabelText, MyMwcObjectBuilder_CargoBox objectBuilder, Matrix matrix)
        {
            Flags |= EntityFlags.EditableInEditor;

            StringBuilder hudLabelTextSb = (hudLabelText == null) ? MyTextsWrapper.Get(MyTextsWrapperEnum.CargoBox) : new StringBuilder(hudLabelText);

            // We want to make cargo box "lazy" to prevent rapid movement
            const float cargoBoxMass        = 5000.0f;
            const float cargoAngularDamping = 0.5f;

            var modelLod0Enum = GetModelLod0EnumFromType(objectBuilder.CargoBoxType);

            base.Init(hudLabelTextSb, modelLod0Enum, null, null, null, objectBuilder);
            base.InitBoxPhysics(MyMaterialType.METAL, ModelLod0, cargoBoxMass, cargoAngularDamping, MyConstants.COLLISION_LAYER_DEFAULT, RigidBodyFlag.RBF_RBO_STATIC);
            this.Physics.LinearDamping      = 0.7f;
            this.Physics.MaxLinearVelocity  = 350;
            this.Physics.MaxAngularVelocity = 5;

            m_inventoryTemplate = objectBuilder.Inventory;
            if (m_inventoryTemplate != null)
            {
                Inventory.Init(m_inventoryTemplate);
            }
            CargoBoxType = objectBuilder.CargoBoxType;

            SetWorldMatrix(matrix);

            Save = true;
            this.Physics.Enabled = true;
            UpdateState();
        }
Ejemplo n.º 3
0
        public static MyModelsEnum GetModelLod0EnumFromType(MyMwcObjectBuilder_CargoBox_TypesEnum cargoBoxType)
        {
            switch (cargoBoxType)
            {
            case MyMwcObjectBuilder_CargoBox_TypesEnum.Type1:
                return(MyModelsEnum.cargo_box_1);

            case MyMwcObjectBuilder_CargoBox_TypesEnum.Type2:
                return(MyModelsEnum.cargo_box_2);

            case MyMwcObjectBuilder_CargoBox_TypesEnum.Type3:
                return(MyModelsEnum.cargo_box_3);

            case MyMwcObjectBuilder_CargoBox_TypesEnum.Type4:
                return(MyModelsEnum.cargo_box_4);

            case MyMwcObjectBuilder_CargoBox_TypesEnum.Type5:
                return(MyModelsEnum.cargo_box_5);

            case MyMwcObjectBuilder_CargoBox_TypesEnum.Type6:
                return(MyModelsEnum.cargo_box_6);

            case MyMwcObjectBuilder_CargoBox_TypesEnum.Type7:
                return(MyModelsEnum.cargo_box_7);

            case MyMwcObjectBuilder_CargoBox_TypesEnum.Type8:
                return(MyModelsEnum.cargo_box_8);

            case MyMwcObjectBuilder_CargoBox_TypesEnum.Type9:
                return(MyModelsEnum.cargo_box_9);

            case MyMwcObjectBuilder_CargoBox_TypesEnum.Type10:
                return(MyModelsEnum.cargo_box_10);

            case MyMwcObjectBuilder_CargoBox_TypesEnum.Type11:
                return(MyModelsEnum.cargo_box_11);

            case MyMwcObjectBuilder_CargoBox_TypesEnum.Type12:
                return(MyModelsEnum.cargo_box_12);

            case MyMwcObjectBuilder_CargoBox_TypesEnum.TypeProp_A:
                return(MyModelsEnum.CargoBox_prop_A);

            case MyMwcObjectBuilder_CargoBox_TypesEnum.TypeProp_B:
                return(MyModelsEnum.CargoBox_prop_B);

            case MyMwcObjectBuilder_CargoBox_TypesEnum.TypeProp_C:
                return(MyModelsEnum.CargoBox_prop_C);

            case MyMwcObjectBuilder_CargoBox_TypesEnum.TypeProp_D:
                return(MyModelsEnum.CargoBox_prop_D);

            case MyMwcObjectBuilder_CargoBox_TypesEnum.DroppedItems:
                return(MyModelsEnum.cargo_box_small);

            default:
                throw new ArgumentOutOfRangeException("cargoBoxType");
            }
        }
Ejemplo n.º 4
0
        protected override void SetHudMarker()
        {
            if (IsNotEmpty())
            {
                MyHudMaxDistanceMultiplerTypes?maxDistanceMultiplerType = null;

                if (m_cargoBoxType == 0)
                {
                    m_cargoBoxType = GetTypeFromModelLod0Enum(m_modelLod0.ModelEnum);
                }

                string displayName = GetCorrectDisplayName(ref maxDistanceMultiplerType);

                MyHud.ChangeText(this, new StringBuilder(displayName), MyGuitargetMode.CargoBox, 200f, MyHudIndicatorFlagsEnum.SHOW_BORDER_INDICATORS | MyHudIndicatorFlagsEnum.SHOW_DISTANCE | MyHudIndicatorFlagsEnum.SHOW_TEXT, maxDistanceMultiplerType: maxDistanceMultiplerType);
            }
            else
            {
                MyHud.RemoveText(this);
            }
        }
Ejemplo n.º 5
0
 private void ChangeModelLod0(MyMwcObjectBuilder_CargoBox_TypesEnum cargoBoxType)
 {
     var modelLod0Enum = GetModelLod0EnumFromType(cargoBoxType);
     var modelLod0 = MyModels.GetModelForDraw(modelLod0Enum);
     m_modelLod0 = modelLod0;
 }
Ejemplo n.º 6
0
 public static MyModelsEnum GetModelLod0EnumFromType(MyMwcObjectBuilder_CargoBox_TypesEnum cargoBoxType)
 {
     switch (cargoBoxType)
     {
         case MyMwcObjectBuilder_CargoBox_TypesEnum.Type1:
             return MyModelsEnum.cargo_box_1;
         case MyMwcObjectBuilder_CargoBox_TypesEnum.Type2:
             return MyModelsEnum.cargo_box_2;
         case MyMwcObjectBuilder_CargoBox_TypesEnum.Type3:
             return MyModelsEnum.cargo_box_3;
         case MyMwcObjectBuilder_CargoBox_TypesEnum.Type4:
             return MyModelsEnum.cargo_box_4;
         case MyMwcObjectBuilder_CargoBox_TypesEnum.Type5:
             return MyModelsEnum.cargo_box_5;
         case MyMwcObjectBuilder_CargoBox_TypesEnum.Type6:
             return MyModelsEnum.cargo_box_6;
         case MyMwcObjectBuilder_CargoBox_TypesEnum.Type7:
             return MyModelsEnum.cargo_box_7;
         case MyMwcObjectBuilder_CargoBox_TypesEnum.Type8:
             return MyModelsEnum.cargo_box_8;
         case MyMwcObjectBuilder_CargoBox_TypesEnum.Type9:
             return MyModelsEnum.cargo_box_9;
         case MyMwcObjectBuilder_CargoBox_TypesEnum.Type10:
             return MyModelsEnum.cargo_box_10;
         case MyMwcObjectBuilder_CargoBox_TypesEnum.Type11:
             return MyModelsEnum.cargo_box_11;
         case MyMwcObjectBuilder_CargoBox_TypesEnum.Type12:
             return MyModelsEnum.cargo_box_12;
         case MyMwcObjectBuilder_CargoBox_TypesEnum.TypeProp_A:
             return MyModelsEnum.CargoBox_prop_A;
         case MyMwcObjectBuilder_CargoBox_TypesEnum.TypeProp_B:
             return MyModelsEnum.CargoBox_prop_B;
         case MyMwcObjectBuilder_CargoBox_TypesEnum.TypeProp_C:
             return MyModelsEnum.CargoBox_prop_C;
         case MyMwcObjectBuilder_CargoBox_TypesEnum.TypeProp_D:
             return MyModelsEnum.CargoBox_prop_D;
         case MyMwcObjectBuilder_CargoBox_TypesEnum.DroppedItems:
             return MyModelsEnum.cargo_box_small;
         default:
             throw new ArgumentOutOfRangeException("cargoBoxType");
     }
 }
Ejemplo n.º 7
0
        protected override void SetHudMarker()
        {
            if (IsNotEmpty())
            {
                MyHudMaxDistanceMultiplerTypes? maxDistanceMultiplerType = null;

                if (m_cargoBoxType == 0)
                    m_cargoBoxType = GetTypeFromModelLod0Enum(m_modelLod0.ModelEnum);

                string displayName = GetCorrectDisplayName(ref maxDistanceMultiplerType);

                MyHud.ChangeText(this, new StringBuilder(displayName), MyGuitargetMode.CargoBox, 200f, MyHudIndicatorFlagsEnum.SHOW_BORDER_INDICATORS | MyHudIndicatorFlagsEnum.SHOW_DISTANCE | MyHudIndicatorFlagsEnum.SHOW_TEXT, maxDistanceMultiplerType: maxDistanceMultiplerType);
            }
            else
            {
                MyHud.RemoveText(this);
            }
        }
Ejemplo n.º 8
0
        public void Init(string hudLabelText, MyMwcObjectBuilder_CargoBox objectBuilder, Matrix matrix)
        {
            Flags |= EntityFlags.EditableInEditor;

            StringBuilder hudLabelTextSb = (hudLabelText == null) ? MyTextsWrapper.Get(MyTextsWrapperEnum.CargoBox) : new StringBuilder(hudLabelText);

            // We want to make cargo box "lazy" to prevent rapid movement
            const float cargoBoxMass = 5000.0f;
            const float cargoAngularDamping = 0.5f;

            var modelLod0Enum = GetModelLod0EnumFromType(objectBuilder.CargoBoxType);

            base.Init(hudLabelTextSb, modelLod0Enum, null, null, null, objectBuilder);
            base.InitBoxPhysics(MyMaterialType.METAL, ModelLod0, cargoBoxMass, cargoAngularDamping, MyConstants.COLLISION_LAYER_DEFAULT, RigidBodyFlag.RBF_RBO_STATIC);
            this.Physics.LinearDamping = 0.7f;
            this.Physics.MaxLinearVelocity = 350;
            this.Physics.MaxAngularVelocity = 5;

            m_inventoryTemplate = objectBuilder.Inventory;
            if (m_inventoryTemplate != null)
            {
                Inventory.Init(m_inventoryTemplate);
            }
            CargoBoxType = objectBuilder.CargoBoxType;

            SetWorldMatrix(matrix);

            Save = true;
            this.Physics.Enabled = true;
            UpdateState();
        }
Ejemplo n.º 9
0
 public static void WriteObjectBuilderCargoBoxTypesEnum(MyMwcObjectBuilder_CargoBox_TypesEnum val, BinaryWriter binaryWriter)
 {
     binaryWriter.Write((byte)val);
 }