Exemple #1
0
 MyEntity addStaticAsteroid(StringBuilder hudLabel, MyMwcObjectBuilder_StaticAsteroid_TypesEnum staticEnum, ref Vector3 currentPosition, Vector3 forward, MyMeshDrawTechnique? drawTechnique = null, MyMwcVoxelMaterialsEnum? material = null)
 {
     MyStaticAsteroid staticAsteroid = new MyStaticAsteroid();
     MyMwcObjectBuilder_StaticAsteroid objectBuilder = new MyMwcObjectBuilder_StaticAsteroid(staticEnum, material);
     staticAsteroid.Init(hudLabel.ToString(), objectBuilder, Matrix.Identity);
     return addEntity(staticAsteroid, ref currentPosition, forward);
 }
 public static MyGuiAsteroidHelper GetStaticAsteroidTypeHelper(MyMwcObjectBuilder_StaticAsteroid_TypesEnum staticAsteroidType)
 {
     MyGuiAsteroidHelper ret;
     if (m_staticAsteroidHelpers.TryGetValue(staticAsteroidType, out ret))
         return ret;
     else
         return null;
 }
Exemple #3
0
        /// <summary>
        /// Inits the specified hud label text.
        /// </summary>
        /// <param name="hudLabelText">The hud label text.</param>
        /// <param name="objectBuilder">The object builder.</param>
        public void Init(string hudLabelText, MyMwcObjectBuilder_StaticAsteroid objectBuilder, Matrix matrix)
        {
            MyStaticAsteroidModels models = GetModelsFromType(objectBuilder.AsteroidType);

            StringBuilder hudLabelTextSb = (hudLabelText == null) ? null : new StringBuilder(hudLabelText);

            if (objectBuilder.Generated)
            {
                Flags &= ~EntityFlags.EditableInEditor;
                Flags &= ~EntityFlags.NeedsId;
            }
            else
            {
                Flags |= EntityFlags.EditableInEditor;
                Flags |= EntityFlags.NeedsId;
            }

            CastShadows = !objectBuilder.Generated;

            if (!objectBuilder.AsteroidMaterial1.HasValue && MySector.Area.HasValue)
            {
                var area = MySolarSystemConstants.Areas[MySector.Area.Value];
                objectBuilder.AsteroidMaterial1 = area.SecondaryStaticAsteroidMaterial;
                objectBuilder.FieldDir          = MinerWars.AppCode.Game.GUI.MyGuiScreenGamePlay.Static.GetDirectionToSunNormalized();
            }

            NeedsUpdate = false;

            Init(hudLabelTextSb, models.LOD0, models.LOD1, null, null, objectBuilder, null, models.LOD2);

            AsteroidType = objectBuilder.AsteroidType;

            SetWorldMatrix(matrix);

            FieldDir = objectBuilder.FieldDir;

            if (objectBuilder.AsteroidMaterial.HasValue)
            {
                VoxelMaterial   = objectBuilder.AsteroidMaterial.Value;
                VoxelMaterial1  = objectBuilder.AsteroidMaterial1;
                m_drawTechnique = MyMeshDrawTechnique.VOXELS_STATIC_ASTEROID;
            }

            if (objectBuilder.UseModelTechnique)
            {
                m_meshMaterial  = MyVoxelMaterials.GetMaterialForMesh(VoxelMaterial);
                m_drawTechnique = MyMeshDrawTechnique.MESH;
            }

            InitDrawTechniques();

            InitPhysics();

            MyModels.OnContentLoaded += InitDrawTechniques;
            InitDrawTechniques();
        }
        public override void OnOkClick(MyGuiControlButton sender)
        {
            base.OnOkClick(sender);

            if (HasEntity())
            {
                if (m_changeMaterial.Checked)
                {
                    m_entity.VoxelMaterial = ((MyMwcVoxelMaterialsEnum)m_selectVoxelMapMaterialCombobox.GetSelectedKey());
                }

                float x, y, z;
                if (float.TryParse(m_positionX.Text, out x) && float.TryParse(m_positionY.Text, out y) && float.TryParse(m_positionZ.Text, out z))
                {
                    m_entity.SetPosition(new Vector3(x, y, z));
                }
            }
            else
            {
                if (GetAsteroidType() == MyGuiAsteroidTypesEnum.VOXEL)
                {
                    MyMwcObjectBuilder_SmallShip_TypesEnum shipType = (MyMwcObjectBuilder_SmallShip_TypesEnum)
                                                                      Enum.ToObject(typeof(MyMwcObjectBuilder_SmallShip_TypesEnum), m_selectVoxelMapCombobox.GetSelectedKey());
                    MyMwcVoxelFilesEnum voxelFileEnum = (MyMwcVoxelFilesEnum)
                                                        Enum.ToObject(typeof(MyMwcVoxelFilesEnum), m_selectVoxelMapCombobox.GetSelectedKey());
                    MyMwcVoxelMaterialsEnum materialEnum = (MyMwcVoxelMaterialsEnum)
                                                           Enum.ToObject(typeof(MyMwcVoxelMaterialsEnum), m_selectVoxelMapMaterialCombobox.GetSelectedKey());

                    MyMwcObjectBuilder_VoxelMap voxelMapBuilder = MyMwcObjectBuilder_Base.CreateNewObject(MyMwcObjectBuilderTypeEnum.VoxelMap, null) as MyMwcObjectBuilder_VoxelMap;
                    voxelMapBuilder.VoxelMaterial = materialEnum;
                    voxelMapBuilder.VoxelFile     = voxelFileEnum;
                    MyEditor.Static.CreateFromObjectBuilder(voxelMapBuilder, Matrix.CreateWorld(m_newObjectPosition, Vector3.Forward, Vector3.Up), m_screenPosition);
                }
                else if (GetAsteroidType() == MyGuiAsteroidTypesEnum.STATIC)
                {
                    MyMwcObjectBuilder_StaticAsteroid_TypesEnum staticAsteroidType = (MyMwcObjectBuilder_StaticAsteroid_TypesEnum)
                                                                                     Enum.ToObject(typeof(MyMwcObjectBuilder_StaticAsteroid_TypesEnum), m_selectVoxelMapCombobox.GetSelectedKey());

                    MyMwcVoxelMaterialsEnum?materialEnum = null;
                    int materialKey = m_selectVoxelMapMaterialCombobox.GetSelectedKey();
                    if (materialKey != -1)
                    {
                        materialEnum = (MyMwcVoxelMaterialsEnum)Enum.ToObject(typeof(MyMwcVoxelMaterialsEnum), materialKey);
                    }

                    MyMwcObjectBuilder_StaticAsteroid staticAsteroidBuilder = new MyMwcObjectBuilder_StaticAsteroid(staticAsteroidType, materialEnum);
                    MyEditor.Static.CreateFromObjectBuilder(staticAsteroidBuilder, Matrix.CreateWorld(m_newObjectPosition, Vector3.Forward, Vector3.Up), m_screenPosition);
                }
            }

            MyGuiManager.CloseAllScreensExcept(MyGuiScreenGamePlay.Static);
        }
        //  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());
            }

            // Asteroid Type
            MyMwcObjectBuilder_StaticAsteroid_TypesEnum?asteroidType = MyMwcMessageIn.ReadObjectBuilderStaticAsteroidTypesEnumEx(binaryReader, senderEndPoint);

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

            // Asteroid Material
            bool?hasId = MyMwcMessageIn.ReadBoolEx(binaryReader, senderEndPoint);

            if (!hasId.HasValue)
            {
                return(NetworkError());                 // Cannot read bool - whether owner asteroid material is null or not
            }
            MyMwcLog.IfNetVerbose_AddToLog("MyMwcObjectBuilder_StaticAsteroid.AsteroidMaterial.HasValue: " + hasId.Value);

            // Testing whether Asteroid Material is null
            if (hasId.Value)
            {
                // asteroid material has value - read the value
                byte?asteroidMaterial = MyMwcMessageIn.ReadByteEx(binaryReader, senderEndPoint);
                if (!asteroidMaterial.HasValue)
                {
                    return(NetworkError());                            // Cannot read asteroid material
                }
                MyMwcLog.IfNetVerbose_AddToLog("MyMwcObjectBuilder_StaticAsteroid.AsteroidMaterial.Value: " + asteroidMaterial.Value);
                this.AsteroidMaterial = (MyMwcVoxelMaterialsEnum)asteroidMaterial.Value;
            }
            else
            {
                this.AsteroidMaterial = null;
            }

            return(true);
        }
        /// <summary>
        /// Inits the specified hud label text.
        /// </summary>
        /// <param name="hudLabelText">The hud label text.</param>
        /// <param name="objectBuilder">The object builder.</param>
        public void Init(string hudLabelText, MyMwcObjectBuilder_StaticAsteroid objectBuilder, Matrix matrix)
        {
            MyStaticAsteroidModels models = GetModelsFromType(objectBuilder.AsteroidType);

            StringBuilder hudLabelTextSb = (hudLabelText == null) ? null : new StringBuilder(hudLabelText);

            if (objectBuilder.Generated)
            {
                Flags &= ~EntityFlags.EditableInEditor;
                Flags &= ~EntityFlags.NeedsId;
            }
            else
            {
                Flags |= EntityFlags.EditableInEditor;
                Flags |= EntityFlags.NeedsId;
            }

            CastShadows = !objectBuilder.Generated;

            if (!objectBuilder.AsteroidMaterial1.HasValue && MySector.Area.HasValue)
            {
                var area = MySolarSystemConstants.Areas[MySector.Area.Value];
                objectBuilder.AsteroidMaterial1 = area.SecondaryStaticAsteroidMaterial;
                objectBuilder.FieldDir = MinerWars.AppCode.Game.GUI.MyGuiScreenGamePlay.Static.GetDirectionToSunNormalized();
            }

            NeedsUpdate = false;

            Init(hudLabelTextSb, models.LOD0, models.LOD1, null, null, objectBuilder, null, models.LOD2);

            AsteroidType = objectBuilder.AsteroidType;

            SetWorldMatrix(matrix);

            FieldDir = objectBuilder.FieldDir;

            if (objectBuilder.AsteroidMaterial.HasValue)
            {
                VoxelMaterial = objectBuilder.AsteroidMaterial.Value;
                VoxelMaterial1 = objectBuilder.AsteroidMaterial1;
                m_drawTechnique = MyMeshDrawTechnique.VOXELS_STATIC_ASTEROID;
            }

            if (objectBuilder.UseModelTechnique)
            {
                m_meshMaterial = MyVoxelMaterials.GetMaterialForMesh(VoxelMaterial);
                m_drawTechnique = MyMeshDrawTechnique.MESH;
            }

            InitDrawTechniques();

            InitPhysics();

            MyModels.OnContentLoaded += InitDrawTechniques;
            InitDrawTechniques();

        }
        /// <summary>
        /// Backup conversion from ob type to models.
        /// </summary>
        /// <param name="type">The type.</param>
        public static MyStaticAsteroidModels GetModelsFromType(MyMwcObjectBuilder_StaticAsteroid_TypesEnum type)
            {
            switch (type)
            {
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid10m_A:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid10m_A_LOD0, MyModelsEnum.StaticAsteroid10m_A_LOD1, MyModelsEnum.StaticAsteroid10m_A_LOD2);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid20m_A:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid20m_A_LOD0, MyModelsEnum.StaticAsteroid20m_A_LOD1, MyModelsEnum.StaticAsteroid20m_A_LOD2);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid30m_A:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid30m_A_LOD0, MyModelsEnum.StaticAsteroid30m_A_LOD1, MyModelsEnum.StaticAsteroid30m_A_LOD2);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid50m_A:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid50m_A_LOD0, MyModelsEnum.StaticAsteroid30m_A_LOD1, MyModelsEnum.StaticAsteroid30m_A_LOD2);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid100m_A:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid100m_A_LOD0, MyModelsEnum.StaticAsteroid100m_A_LOD1, MyModelsEnum.StaticAsteroid100m_A_LOD2);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid300m_A:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid300m_A_LOD0, MyModelsEnum.StaticAsteroid300m_A_LOD1, MyModelsEnum.StaticAsteroid300m_A_LOD2);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid500m_A:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid500m_A_LOD0, MyModelsEnum.StaticAsteroid500m_A_LOD1, MyModelsEnum.StaticAsteroid500m_A_LOD2);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid1000m_A:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid1000m_A_LOD0, MyModelsEnum.StaticAsteroid1000m_A_LOD1, MyModelsEnum.StaticAsteroid1000m_A_LOD2);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid2000m_A:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid2000m_A_LOD0, MyModelsEnum.StaticAsteroid2000m_A_LOD1, MyModelsEnum.StaticAsteroid2000m_A_LOD2);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid5000m_A:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid5000m_A_LOD0, MyModelsEnum.StaticAsteroid5000m_A_LOD1, MyModelsEnum.StaticAsteroid5000m_A_LOD1);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid10000m_A:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid10000m_A_LOD0, MyModelsEnum.StaticAsteroid10000m_A_LOD1, MyModelsEnum.StaticAsteroid10000m_A_LOD1);
                //case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid40000m_A:
                  //  return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid40000m_A_LOD0, MyModelsEnum.StaticAsteroid40000m_A_LOD1, MyModelsEnum.StaticAsteroid40000m_A_LOD2);

                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid10m_B:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid10m_B_LOD0, MyModelsEnum.StaticAsteroid10m_B_LOD1, MyModelsEnum.StaticAsteroid10m_B_LOD2);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid20m_B:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid20m_B_LOD0, MyModelsEnum.StaticAsteroid20m_B_LOD1, MyModelsEnum.StaticAsteroid20m_B_LOD2);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid30m_B:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid30m_B_LOD0, MyModelsEnum.StaticAsteroid30m_B_LOD1, MyModelsEnum.StaticAsteroid30m_B_LOD2);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid50m_B:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid50m_B_LOD0, MyModelsEnum.StaticAsteroid50m_B_LOD1, MyModelsEnum.StaticAsteroid50m_B_LOD2);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid100m_B:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid100m_B_LOD0, MyModelsEnum.StaticAsteroid100m_B_LOD1, MyModelsEnum.StaticAsteroid100m_B_LOD2);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid300m_B:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid300m_B_LOD0, MyModelsEnum.StaticAsteroid300m_B_LOD1, MyModelsEnum.StaticAsteroid300m_B_LOD2);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid500m_B:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid500m_B_LOD0, MyModelsEnum.StaticAsteroid500m_B_LOD1, MyModelsEnum.StaticAsteroid500m_B_LOD2);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid1000m_B:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid1000m_B_LOD0, MyModelsEnum.StaticAsteroid1000m_B_LOD1, MyModelsEnum.StaticAsteroid1000m_B_LOD2);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid2000m_B:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid2000m_B_LOD0, MyModelsEnum.StaticAsteroid2000m_B_LOD1, MyModelsEnum.StaticAsteroid2000m_B_LOD2);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid5000m_B:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid5000m_B_LOD0, MyModelsEnum.StaticAsteroid5000m_B_LOD1, MyModelsEnum.StaticAsteroid5000m_B_LOD1);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid10000m_B:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid10000m_B_LOD0, MyModelsEnum.StaticAsteroid10000m_B_LOD1, MyModelsEnum.StaticAsteroid10000m_B_LOD1);

                    //Removed support
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid10m_C:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid10m_A_LOD0, MyModelsEnum.StaticAsteroid10m_A_LOD1, null);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid20m_C:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid20m_A_LOD0, MyModelsEnum.StaticAsteroid20m_A_LOD1, null);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid30m_C:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid30m_A_LOD0, MyModelsEnum.StaticAsteroid30m_A_LOD1, null);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid50m_C:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid50m_A_LOD0, MyModelsEnum.StaticAsteroid50m_A_LOD1, null);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid100m_C:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid100m_A_LOD0, MyModelsEnum.StaticAsteroid100m_A_LOD1, null);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid300m_C:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid300m_A_LOD0, MyModelsEnum.StaticAsteroid300m_A_LOD1, null);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid500m_C:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid500m_A_LOD0, MyModelsEnum.StaticAsteroid500m_A_LOD1, null);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid1000m_C:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid1000m_A_LOD0, MyModelsEnum.StaticAsteroid1000m_A_LOD1, null);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid2000m_C:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid2000m_A_LOD0, MyModelsEnum.StaticAsteroid2000m_A_LOD1, null);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid5000m_C:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid5000m_A_LOD0, MyModelsEnum.StaticAsteroid5000m_A_LOD1, null);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid10000m_C:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid10000m_A_LOD0, MyModelsEnum.StaticAsteroid10000m_A_LOD1, null);

                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid10m_D:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid10m_A_LOD0, MyModelsEnum.StaticAsteroid10m_A_LOD1, null);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid20m_D:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid20m_A_LOD0, MyModelsEnum.StaticAsteroid20m_A_LOD1, null);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid30m_D:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid30m_A_LOD0, MyModelsEnum.StaticAsteroid30m_A_LOD1, null);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid50m_D:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid50m_A_LOD0, MyModelsEnum.StaticAsteroid50m_A_LOD1, null);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid100m_D:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid100m_A_LOD0, MyModelsEnum.StaticAsteroid100m_A_LOD1, null);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid300m_D:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid300m_A_LOD0, MyModelsEnum.StaticAsteroid300m_A_LOD1, null);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid500m_D:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid500m_A_LOD0, MyModelsEnum.StaticAsteroid500m_A_LOD1, null);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid1000m_D:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid1000m_A_LOD0, MyModelsEnum.StaticAsteroid1000m_A_LOD1, null);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid2000m_D:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid2000m_A_LOD0, MyModelsEnum.StaticAsteroid2000m_A_LOD1, null);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid5000m_D:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid5000m_A_LOD0, MyModelsEnum.StaticAsteroid5000m_A_LOD1, null);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid10000m_D:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid10000m_A_LOD0, MyModelsEnum.StaticAsteroid10000m_A_LOD1, null);

                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid10m_E:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid10m_A_LOD0, MyModelsEnum.StaticAsteroid10m_A_LOD1, null);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid20m_E:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid20m_A_LOD0, MyModelsEnum.StaticAsteroid20m_A_LOD1, null);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid30m_E:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid30m_A_LOD0, MyModelsEnum.StaticAsteroid30m_A_LOD1, null);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid50m_E:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid50m_A_LOD0, MyModelsEnum.StaticAsteroid50m_A_LOD1, null);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid100m_E:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid100m_A_LOD0, MyModelsEnum.StaticAsteroid100m_A_LOD1, null);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid300m_E:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid300m_A_LOD0, MyModelsEnum.StaticAsteroid300m_A_LOD1, null);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid500m_E:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid500m_A_LOD0, MyModelsEnum.StaticAsteroid500m_A_LOD1, null);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid1000m_E:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid1000m_A_LOD0, MyModelsEnum.StaticAsteroid1000m_A_LOD1, null);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid2000m_E:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid2000m_A_LOD0, MyModelsEnum.StaticAsteroid2000m_A_LOD1, null);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid5000m_E:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid5000m_A_LOD0, MyModelsEnum.StaticAsteroid5000m_A_LOD1, null);
                case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid10000m_E:
                    return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid10000m_A_LOD0, MyModelsEnum.StaticAsteroid10000m_A_LOD1, null);
                    
                default:
                    throw new MyMwcExceptionApplicationShouldNotGetHere();
            }
        }
Exemple #8
0
        /// <summary>
        /// Backup conversion from ob type to models.
        /// </summary>
        /// <param name="type">The type.</param>
        public static MyStaticAsteroidModels GetModelsFromType(MyMwcObjectBuilder_StaticAsteroid_TypesEnum type)
        {
            switch (type)
            {
            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid10m_A:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid10m_A_LOD0, MyModelsEnum.StaticAsteroid10m_A_LOD1, MyModelsEnum.StaticAsteroid10m_A_LOD2));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid20m_A:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid20m_A_LOD0, MyModelsEnum.StaticAsteroid20m_A_LOD1, MyModelsEnum.StaticAsteroid20m_A_LOD2));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid30m_A:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid30m_A_LOD0, MyModelsEnum.StaticAsteroid30m_A_LOD1, MyModelsEnum.StaticAsteroid30m_A_LOD2));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid50m_A:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid50m_A_LOD0, MyModelsEnum.StaticAsteroid30m_A_LOD1, MyModelsEnum.StaticAsteroid30m_A_LOD2));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid100m_A:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid100m_A_LOD0, MyModelsEnum.StaticAsteroid100m_A_LOD1, MyModelsEnum.StaticAsteroid100m_A_LOD2));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid300m_A:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid300m_A_LOD0, MyModelsEnum.StaticAsteroid300m_A_LOD1, MyModelsEnum.StaticAsteroid300m_A_LOD2));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid500m_A:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid500m_A_LOD0, MyModelsEnum.StaticAsteroid500m_A_LOD1, MyModelsEnum.StaticAsteroid500m_A_LOD2));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid1000m_A:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid1000m_A_LOD0, MyModelsEnum.StaticAsteroid1000m_A_LOD1, MyModelsEnum.StaticAsteroid1000m_A_LOD2));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid2000m_A:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid2000m_A_LOD0, MyModelsEnum.StaticAsteroid2000m_A_LOD1, MyModelsEnum.StaticAsteroid2000m_A_LOD2));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid5000m_A:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid5000m_A_LOD0, MyModelsEnum.StaticAsteroid5000m_A_LOD1, MyModelsEnum.StaticAsteroid5000m_A_LOD1));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid10000m_A:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid10000m_A_LOD0, MyModelsEnum.StaticAsteroid10000m_A_LOD1, MyModelsEnum.StaticAsteroid10000m_A_LOD1));

            //case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid40000m_A:
            //  return new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid40000m_A_LOD0, MyModelsEnum.StaticAsteroid40000m_A_LOD1, MyModelsEnum.StaticAsteroid40000m_A_LOD2);

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid10m_B:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid10m_B_LOD0, MyModelsEnum.StaticAsteroid10m_B_LOD1, MyModelsEnum.StaticAsteroid10m_B_LOD2));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid20m_B:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid20m_B_LOD0, MyModelsEnum.StaticAsteroid20m_B_LOD1, MyModelsEnum.StaticAsteroid20m_B_LOD2));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid30m_B:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid30m_B_LOD0, MyModelsEnum.StaticAsteroid30m_B_LOD1, MyModelsEnum.StaticAsteroid30m_B_LOD2));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid50m_B:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid50m_B_LOD0, MyModelsEnum.StaticAsteroid50m_B_LOD1, MyModelsEnum.StaticAsteroid50m_B_LOD2));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid100m_B:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid100m_B_LOD0, MyModelsEnum.StaticAsteroid100m_B_LOD1, MyModelsEnum.StaticAsteroid100m_B_LOD2));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid300m_B:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid300m_B_LOD0, MyModelsEnum.StaticAsteroid300m_B_LOD1, MyModelsEnum.StaticAsteroid300m_B_LOD2));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid500m_B:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid500m_B_LOD0, MyModelsEnum.StaticAsteroid500m_B_LOD1, MyModelsEnum.StaticAsteroid500m_B_LOD2));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid1000m_B:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid1000m_B_LOD0, MyModelsEnum.StaticAsteroid1000m_B_LOD1, MyModelsEnum.StaticAsteroid1000m_B_LOD2));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid2000m_B:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid2000m_B_LOD0, MyModelsEnum.StaticAsteroid2000m_B_LOD1, MyModelsEnum.StaticAsteroid2000m_B_LOD2));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid5000m_B:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid5000m_B_LOD0, MyModelsEnum.StaticAsteroid5000m_B_LOD1, MyModelsEnum.StaticAsteroid5000m_B_LOD1));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid10000m_B:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid10000m_B_LOD0, MyModelsEnum.StaticAsteroid10000m_B_LOD1, MyModelsEnum.StaticAsteroid10000m_B_LOD1));

            //Removed support
            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid10m_C:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid10m_A_LOD0, MyModelsEnum.StaticAsteroid10m_A_LOD1, null));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid20m_C:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid20m_A_LOD0, MyModelsEnum.StaticAsteroid20m_A_LOD1, null));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid30m_C:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid30m_A_LOD0, MyModelsEnum.StaticAsteroid30m_A_LOD1, null));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid50m_C:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid50m_A_LOD0, MyModelsEnum.StaticAsteroid50m_A_LOD1, null));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid100m_C:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid100m_A_LOD0, MyModelsEnum.StaticAsteroid100m_A_LOD1, null));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid300m_C:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid300m_A_LOD0, MyModelsEnum.StaticAsteroid300m_A_LOD1, null));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid500m_C:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid500m_A_LOD0, MyModelsEnum.StaticAsteroid500m_A_LOD1, null));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid1000m_C:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid1000m_A_LOD0, MyModelsEnum.StaticAsteroid1000m_A_LOD1, null));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid2000m_C:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid2000m_A_LOD0, MyModelsEnum.StaticAsteroid2000m_A_LOD1, null));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid5000m_C:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid5000m_A_LOD0, MyModelsEnum.StaticAsteroid5000m_A_LOD1, null));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid10000m_C:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid10000m_A_LOD0, MyModelsEnum.StaticAsteroid10000m_A_LOD1, null));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid10m_D:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid10m_A_LOD0, MyModelsEnum.StaticAsteroid10m_A_LOD1, null));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid20m_D:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid20m_A_LOD0, MyModelsEnum.StaticAsteroid20m_A_LOD1, null));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid30m_D:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid30m_A_LOD0, MyModelsEnum.StaticAsteroid30m_A_LOD1, null));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid50m_D:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid50m_A_LOD0, MyModelsEnum.StaticAsteroid50m_A_LOD1, null));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid100m_D:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid100m_A_LOD0, MyModelsEnum.StaticAsteroid100m_A_LOD1, null));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid300m_D:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid300m_A_LOD0, MyModelsEnum.StaticAsteroid300m_A_LOD1, null));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid500m_D:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid500m_A_LOD0, MyModelsEnum.StaticAsteroid500m_A_LOD1, null));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid1000m_D:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid1000m_A_LOD0, MyModelsEnum.StaticAsteroid1000m_A_LOD1, null));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid2000m_D:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid2000m_A_LOD0, MyModelsEnum.StaticAsteroid2000m_A_LOD1, null));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid5000m_D:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid5000m_A_LOD0, MyModelsEnum.StaticAsteroid5000m_A_LOD1, null));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid10000m_D:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid10000m_A_LOD0, MyModelsEnum.StaticAsteroid10000m_A_LOD1, null));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid10m_E:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid10m_A_LOD0, MyModelsEnum.StaticAsteroid10m_A_LOD1, null));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid20m_E:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid20m_A_LOD0, MyModelsEnum.StaticAsteroid20m_A_LOD1, null));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid30m_E:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid30m_A_LOD0, MyModelsEnum.StaticAsteroid30m_A_LOD1, null));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid50m_E:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid50m_A_LOD0, MyModelsEnum.StaticAsteroid50m_A_LOD1, null));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid100m_E:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid100m_A_LOD0, MyModelsEnum.StaticAsteroid100m_A_LOD1, null));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid300m_E:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid300m_A_LOD0, MyModelsEnum.StaticAsteroid300m_A_LOD1, null));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid500m_E:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid500m_A_LOD0, MyModelsEnum.StaticAsteroid500m_A_LOD1, null));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid1000m_E:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid1000m_A_LOD0, MyModelsEnum.StaticAsteroid1000m_A_LOD1, null));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid2000m_E:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid2000m_A_LOD0, MyModelsEnum.StaticAsteroid2000m_A_LOD1, null));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid5000m_E:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid5000m_A_LOD0, MyModelsEnum.StaticAsteroid5000m_A_LOD1, null));

            case MyMwcObjectBuilder_StaticAsteroid_TypesEnum.StaticAsteroid10000m_E:
                return(new MyStaticAsteroidModels(MyModelsEnum.StaticAsteroid10000m_A_LOD0, MyModelsEnum.StaticAsteroid10000m_A_LOD1, null));

            default:
                throw new MyMwcExceptionApplicationShouldNotGetHere();
            }
        }
Exemple #9
0
 public MyMwcObjectBuilder_Meteor(MyMwcObjectBuilder_StaticAsteroid_TypesEnum asteroidType, MyMwcVoxelMaterialsEnum material)
     : base(asteroidType, material)
 {
 }
 internal override void SetObjectBuilderIdInternal(int?objectBuilderId)
 {
     AsteroidType = (MyMwcObjectBuilder_StaticAsteroid_TypesEnum)Convert.ToUInt16(objectBuilderId);
 }
 public MyMwcObjectBuilder_StaticAsteroid(MyMwcObjectBuilder_StaticAsteroid_TypesEnum asteroidType, MyMwcVoxelMaterialsEnum?material, MyMwcVoxelMaterialsEnum?material1 = null)
 {
     AsteroidType      = asteroidType;
     AsteroidMaterial  = material;
     AsteroidMaterial1 = material1;
 }
 public static void WriteObjectBuilderStaticAsteroidTypesEnum(MyMwcObjectBuilder_StaticAsteroid_TypesEnum val, BinaryWriter binaryWriter)
 {
     binaryWriter.Write((ushort)val);
 }
 public MyMwcObjectBuilder_Meteor(MyMwcObjectBuilder_StaticAsteroid_TypesEnum asteroidType, MyMwcVoxelMaterialsEnum material)
     : base(asteroidType, material)
 {
 }