public override void Init(StringBuilder hudLabelText, MyEntity parentObject, Vector3 position, Vector3 forwardVector, Vector3 upVector, MyMwcObjectBuilder_Base objectBuilder) { MyModelsEnum modelEnumBase; MyModelsEnum?modelEnumBaseCollision = null; MyModelsEnum modelEnumBarrel; MyMwcObjectBuilder_SmallShip_Ammo_TypesEnum missileType; switch ((MyMwcObjectBuilder_PrefabLargeWeapon_TypesEnum)objectBuilder.GetObjectBuilderId().Value) { case MyMwcObjectBuilder_PrefabLargeWeapon_TypesEnum.P352_A01_LARGESHIP_MISSILE_BASIC4: case MyMwcObjectBuilder_PrefabLargeWeapon_TypesEnum.P352_A02_LARGESHIP_MISSILE_GUIDED4: modelEnumBase = MyModelsEnum.LargeShipMissileLauncher4Base; modelEnumBarrel = MyModelsEnum.LargeShipMissileLauncher4Barrel; modelEnumBaseCollision = MyModelsEnum.LargeShipMissileLauncher4Base_COL; Burst = 4; break; case MyMwcObjectBuilder_PrefabLargeWeapon_TypesEnum.P352_A01_LARGESHIP_MISSILE_BASIC6: case MyMwcObjectBuilder_PrefabLargeWeapon_TypesEnum.P352_A02_LARGESHIP_MISSILE_GUIDED6: modelEnumBase = MyModelsEnum.LargeShipMissileLauncher6Base; modelEnumBarrel = MyModelsEnum.LargeShipMissileLauncher6Barrel; modelEnumBaseCollision = MyModelsEnum.LargeShipMissileLauncher6Base_COL; Burst = 6; break; case MyMwcObjectBuilder_PrefabLargeWeapon_TypesEnum.P352_A01_LARGESHIP_MISSILE_BASIC9: case MyMwcObjectBuilder_PrefabLargeWeapon_TypesEnum.P352_A02_LARGESHIP_MISSILE_GUIDED9: modelEnumBase = MyModelsEnum.LargeShipMissileLauncher9Base; modelEnumBarrel = MyModelsEnum.LargeShipMissileLauncher9Barrel; modelEnumBaseCollision = MyModelsEnum.LargeShipMissileLauncher9Base_COL; Burst = 9; break; default: throw new MyMwcExceptionApplicationShouldNotGetHere(); break; } switch ((MyMwcObjectBuilder_PrefabLargeWeapon_TypesEnum)objectBuilder.GetObjectBuilderId().Value) { case MyMwcObjectBuilder_PrefabLargeWeapon_TypesEnum.P352_A01_LARGESHIP_MISSILE_BASIC4: case MyMwcObjectBuilder_PrefabLargeWeapon_TypesEnum.P352_A01_LARGESHIP_MISSILE_BASIC6: case MyMwcObjectBuilder_PrefabLargeWeapon_TypesEnum.P352_A01_LARGESHIP_MISSILE_BASIC9: missileType = MyMwcObjectBuilder_SmallShip_Ammo_TypesEnum.Missile_Basic; break; case MyMwcObjectBuilder_PrefabLargeWeapon_TypesEnum.P352_A02_LARGESHIP_MISSILE_GUIDED4: case MyMwcObjectBuilder_PrefabLargeWeapon_TypesEnum.P352_A02_LARGESHIP_MISSILE_GUIDED6: case MyMwcObjectBuilder_PrefabLargeWeapon_TypesEnum.P352_A02_LARGESHIP_MISSILE_GUIDED9: missileType = MyMwcObjectBuilder_SmallShip_Ammo_TypesEnum.Guided_Missile_Radar_Detection; break; default: throw new MyMwcExceptionApplicationShouldNotGetHere(); break; } base.Init(hudLabelText, modelEnumBase, MyMaterialType.METAL, parentObject, position, forwardVector, upVector, objectBuilder, modelEnumBaseCollision); Matrix barrelMatrix = MyMath.NormalizeMatrix(ModelLod0.Dummies["axis"].Matrix); MyLargeShipMissileLauncherBarrel barrel = new MyLargeShipMissileLauncherBarrel(); barrel.Init(hudLabelText, modelEnumBarrel, Burst, barrelMatrix, missileType, this); MountBarrel(barrel); // User settings: m_predictionIntervalConst_ms = 250; m_checkTargetIntervalConst_ms = 150; m_randomStandbyChangeConst_ms = 4000; }
public override void Init(StringBuilder hudLabelText, MyEntity parentObject, Vector3 position, Vector3 forwardVector, Vector3 upVector, MyMwcObjectBuilder_Base objectBuilder) { MyModelsEnum modelEnumBase; MyModelsEnum? modelEnumBaseCollision = null; MyModelsEnum modelEnumBarrel; MyMwcObjectBuilder_SmallShip_Ammo_TypesEnum missileType; switch ((MyMwcObjectBuilder_PrefabLargeWeapon_TypesEnum)objectBuilder.GetObjectBuilderId().Value) { case MyMwcObjectBuilder_PrefabLargeWeapon_TypesEnum.P352_A01_LARGESHIP_MISSILE_BASIC4: case MyMwcObjectBuilder_PrefabLargeWeapon_TypesEnum.P352_A02_LARGESHIP_MISSILE_GUIDED4: modelEnumBase = MyModelsEnum.LargeShipMissileLauncher4Base; modelEnumBarrel = MyModelsEnum.LargeShipMissileLauncher4Barrel; modelEnumBaseCollision = MyModelsEnum.LargeShipMissileLauncher4Base_COL; Burst = 4; break; case MyMwcObjectBuilder_PrefabLargeWeapon_TypesEnum.P352_A01_LARGESHIP_MISSILE_BASIC6: case MyMwcObjectBuilder_PrefabLargeWeapon_TypesEnum.P352_A02_LARGESHIP_MISSILE_GUIDED6: modelEnumBase = MyModelsEnum.LargeShipMissileLauncher6Base; modelEnumBarrel = MyModelsEnum.LargeShipMissileLauncher6Barrel; modelEnumBaseCollision = MyModelsEnum.LargeShipMissileLauncher6Base_COL; Burst = 6; break; case MyMwcObjectBuilder_PrefabLargeWeapon_TypesEnum.P352_A01_LARGESHIP_MISSILE_BASIC9: case MyMwcObjectBuilder_PrefabLargeWeapon_TypesEnum.P352_A02_LARGESHIP_MISSILE_GUIDED9: modelEnumBase = MyModelsEnum.LargeShipMissileLauncher9Base; modelEnumBarrel = MyModelsEnum.LargeShipMissileLauncher9Barrel; modelEnumBaseCollision = MyModelsEnum.LargeShipMissileLauncher9Base_COL; Burst = 9; break; default: throw new MyMwcExceptionApplicationShouldNotGetHere(); break; } switch ((MyMwcObjectBuilder_PrefabLargeWeapon_TypesEnum)objectBuilder.GetObjectBuilderId().Value) { case MyMwcObjectBuilder_PrefabLargeWeapon_TypesEnum.P352_A01_LARGESHIP_MISSILE_BASIC4: case MyMwcObjectBuilder_PrefabLargeWeapon_TypesEnum.P352_A01_LARGESHIP_MISSILE_BASIC6: case MyMwcObjectBuilder_PrefabLargeWeapon_TypesEnum.P352_A01_LARGESHIP_MISSILE_BASIC9: missileType = MyMwcObjectBuilder_SmallShip_Ammo_TypesEnum.Missile_Basic; break; case MyMwcObjectBuilder_PrefabLargeWeapon_TypesEnum.P352_A02_LARGESHIP_MISSILE_GUIDED4: case MyMwcObjectBuilder_PrefabLargeWeapon_TypesEnum.P352_A02_LARGESHIP_MISSILE_GUIDED6: case MyMwcObjectBuilder_PrefabLargeWeapon_TypesEnum.P352_A02_LARGESHIP_MISSILE_GUIDED9: missileType = MyMwcObjectBuilder_SmallShip_Ammo_TypesEnum.Guided_Missile_Radar_Detection; break; default: throw new MyMwcExceptionApplicationShouldNotGetHere(); break; } base.Init(hudLabelText, modelEnumBase, MyMaterialType.METAL, parentObject, position, forwardVector, upVector, objectBuilder, modelEnumBaseCollision); Matrix barrelMatrix = MyMath.NormalizeMatrix(ModelLod0.Dummies["axis"].Matrix); MyLargeShipMissileLauncherBarrel barrel = new MyLargeShipMissileLauncherBarrel(); barrel.Init(hudLabelText, modelEnumBarrel, Burst, barrelMatrix, missileType, this); MountBarrel(barrel); // User settings: m_predictionIntervalConst_ms = 250; m_checkTargetIntervalConst_ms = 150; m_randomStandbyChangeConst_ms = 4000; }