public static bool IsAutoclosedDoor(IMyTerminalBlock door) { var myDoor = door as IMyDoor; if (myDoor == null) { return(false); } return(myDoor.Status == DoorStatus.Open && Parse(door.CustomData, $@"{MarkerWord}.*?").Success); }
public void appendCustomInfo(Sandbox.ModAPI.IMyTerminalBlock block, StringBuilder info) { info.Clear(); info.AppendLine("Type: " + cubeBlock.DefinitionDisplayNameText); info.AppendLine("Required Input: " + powerConsumption.ToString("N") + "MW"); info.AppendLine("Maximum Input: " + pulseWeaponInfo.powerUsage.ToString("N") + "MW"); info.AppendLine(" "); if (pulseWeaponInfo.classes > 1) { info.AppendLine("Class: " + "Class " + (damageUpgrades + 1) + " Pulse Weapon"); } }
public override void Init(MyObjectBuilder_EntityBase objectBuilder) { base.Init(objectBuilder); this.objectBuilder = objectBuilder; Entity.NeedsUpdate |= MyEntityUpdateEnum.BEFORE_NEXT_FRAME | MyEntityUpdateEnum.EACH_FRAME; functionalBlock = Entity as Sandbox.ModAPI.IMyFunctionalBlock; cubeBlock = Entity as IMyCubeBlock; terminalBlock = Entity as Sandbox.ModAPI.IMyTerminalBlock; subtypeName = functionalBlock.BlockDefinition.SubtypeName; getPulseWeaponInfo(subtypeName); initCharges(); terminalBlock.AppendingCustomInfo += appendCustomInfo; cubeBlock.AddUpgradeValue("PowerEfficiency", 1.0f); }