public static bool UpdateSmallDebrisScript(MySmallDebris smallDebris) { if (smallDebris.ModelLod0.ModelEnum == MyModelsEnum.cistern) { if (m_outpostReached == true && m_primaryTargetTextAlreadyAdded == false) { bool containsHud = MyHud.ContainsTextForEntity(smallDebris); if (containsHud == false) MyHud.AddText(smallDebris, new StringBuilder("Primary target"), Color.Green); } if (smallDebris.IsDestroyed()) { MyHud.RemoveText(smallDebris); // small ship explosion! MyExplosion explosion = MyExplosions.AddExplosion(); Vector3 explosionPosition = smallDebris.GetPosition(); if (explosion != null) { explosion.Start( MyExplosionTypeEnum.SMALL_SHIP_EXPLOSION, new BoundingSphere(explosionPosition, MyMwcUtils.GetRandomFloat(MyExplosionsConstants.EXPLOSION_RANDOM_RADIUS_MIN, MyExplosionsConstants.EXPLOSION_RANDOM_RADIUS_MAX)), MyExplosionsConstants.EXPLOSION_LIFESPAN); } smallDebris.Close(); m_remainingPrimaryTargetsCounter--; return false; } } return true; }
public static bool UpdateSmallDebrisScript(MySmallDebris smallDebris) { if (smallDebris.ModelLod0.ModelEnum == MyModelsEnum.cistern) { if (m_outpostReached == true && m_primaryTargetTextAlreadyAdded == false) { bool containsHud = MyHud.ContainsTextForEntity(smallDebris); if (containsHud == false) { MyHud.AddText(smallDebris, new StringBuilder("Primary target"), Color.Green); } } if (smallDebris.IsDestroyed()) { MyHud.RemoveText(smallDebris); // small ship explosion! MyExplosion explosion = MyExplosions.AddExplosion(); Vector3 explosionPosition = smallDebris.GetPosition(); if (explosion != null) { explosion.Start( MyExplosionTypeEnum.SMALL_SHIP_EXPLOSION, new BoundingSphere(explosionPosition, MyMwcUtils.GetRandomFloat(MyExplosionsConstants.EXPLOSION_RANDOM_RADIUS_MIN, MyExplosionsConstants.EXPLOSION_RANDOM_RADIUS_MAX)), MyExplosionsConstants.EXPLOSION_LIFESPAN); } smallDebris.Close(); m_remainingPrimaryTargetsCounter--; return(false); } } return(true); }
public static void LoadData() { MinerWars.AppCode.Game.Render.MyRender.GetRenderProfiler().StartProfilingBlock("MyDebrisField.LoadData"); MyMwcLog.WriteLine("MyDebrisField.LoadContent() - START"); MyMwcLog.IncreaseIndent(); Array DebrisEnumValues = Enum.GetValues(typeof(MyMwcObjectBuilder_SmallDebris_TypesEnum)); foreach (MyMwcObjectBuilder_SmallDebris_TypesEnum debrisEnum in DebrisEnumValues) { MyModelsEnum modelEnum = MySmallDebris.GetModelForType(debrisEnum); MyModel model = MyModels.GetModelForDraw(modelEnum); //Loads model data model.PreloadTextures(Managers.LoadingMode.Immediate); } MyEntities.OnCloseAll += MyEntities_OnCloseAll; MyMwcLog.DecreaseIndent(); MyMwcLog.WriteLine("MyDebrisField.LoadContent() - END"); MinerWars.AppCode.Game.Render.MyRender.GetRenderProfiler().EndProfilingBlock(); }