/// <summary> /// DoDamage on prefabs can be modified by cheats (FRIEND_NEUTRAL_CANT_DIE) /// </summary> protected override void DoDamageInternal(float playerDamage, float damage, float empDamage, MinerWars.AppCode.Game.Utils.MyDamageType damageType, MinerWars.AppCode.Game.Utils.MyAmmoType ammoType, MinerWars.AppCode.Game.Entities.MyEntity damageSource, bool justDeactivate) { if (MyFakes.INDESTRUCTIBLE_PREFABS) { return; } if (m_isExploded) return; if (MyGuiScreenGamePlay.Static != null && MySession.PlayerShip != null && damageSource != null) { var playerFactionRelation = MyFactions.GetFactionsRelation(this, damageSource); // Disable damage on friendly prefabs when FRIEND_NEUTRAL_CANT_DIE cheat is enabled if (playerFactionRelation == MyFactionRelationEnum.Friend && MyGuiScreenGamePlay.Static.IsCheatEnabled(MyGameplayCheatsEnum.FRIEND_NEUTRAL_CANT_DIE)) { return; } } damage *= PrefabDamageMultiplier; base.DoDamageInternal(playerDamage, damage, empDamage, damageType, ammoType, damageSource, justDeactivate); ElectricCapacity -= empDamage; //NeedsUpdate = true; RecheckNeedsUpdate(); if (IsDead() && !m_isExploded) { if (justDeactivate) { //Activate(false); MarkForClose(); } else { MarkForClose(); Explode(); } MakeWaypointsFree(); m_isExploded = true; if (CausesAlarm) { m_owner.LaunchAlarm(this, damageSource); } } }
private void OnVideoModeChangedAndComfirm(MinerWars.AppCode.Game.VideoMode.MyVideoModeManager.MyVideoModeChangeOperation result) { bool changed = MyVideoModeManager.EndChangeVideoMode(result); if (changed) { if (MyVideoModeManager.HasAnythingChanged(result)) { //udpate screen here m_waitingForConfirmation = true; MyGuiManager.AddScreen(new MyGuiScreenMessageBox(MyMessageBoxType.MESSAGE, MyTextsWrapperEnum.DoYouWantToKeepTheseSettingsXSecondsRemaining, MyTextsWrapperEnum.MessageBoxCaptionPleaseConfirm, MyTextsWrapperEnum.Yes, MyTextsWrapperEnum.No, OnMessageBoxCallback, MyGuiConstants.VIDEO_OPTIONS_CONFIRMATION_TIMEOUT_IN_MILISECONDS)); } } else { MyGuiManager.AddScreen(new MyGuiScreenMessageBox(MyMessageBoxType.ERROR, MyTextsWrapperEnum.SorryButSelectedSettingsAreNotSupportedByYourHardware, MyTextsWrapperEnum.MessageBoxCaptionError, MyTextsWrapperEnum.Ok, null)); m_doRevert = true; } }
private void OnVideoModeChanged(MinerWars.AppCode.Game.VideoMode.MyVideoModeManager.MyVideoModeChangeOperation result) { UpdateControls(m_settingsOld); UpdateSettings(m_settingsNew); }
internal extern static uint MapVirtualKeyEx(uint key, MinerWars.AppCode.Game.GUI.Core.MyGuiLocalizedKeyboardState.MAPVK mappingType, IntPtr keyboardLayout);