using System; using System.Text; using System.Collections; using System.Collections.Generic; using VRageMath; using VRage.Game; using Sandbox.ModAPI.Interfaces; using Sandbox.ModAPI.Ingame; using Sandbox.Game.EntityComponents; using VRage.Game.Components; using VRage.Collections; using VRage.Game.ObjectBuilders.Definitions; using VRage.Game.ModAPI.Ingame; using SpaceEngineers.Game.ModAPI.Ingame; namespace Tut1 { class Program : MyGridProgram { private const string inDoorName = "inDoor"; private const string outDoorName = "outDoor"; private const string timerName = "timerForClose"; // Konstruktor, wird beim Programmstart/Neukompilieren ausgeführt public Program() { } // Mit der Funktion Save kann man Werte über die Spielsession hinweg speichern public void Save() { } public void Main(string argument, UpdateType updateType) { var doorIn = GridTerminalSystem.GetBlockWithName(inDoorName); var doorOut = GridTerminalSystem.GetBlockWithName(outDoorName); var timerForClose = GridTerminalSystem.GetBlockWithName(timerName); if (doorIn == null) { Echo($"{inDoorName} not found"); } if (doorIn == null) { Echo($"{outDoorName} not found"); } if (timerForClose == null) { Echo($"{timerName} not found"); } IMyDoor myDoorOut = doorOut as IMyDoor; IMyDoor myDoorIn = doorIn as IMyDoor; IMyTimerBlock myTimerForClose = timerForClose as IMyTimerBlock; if (argument == "close") { myDoorOut.CloseDoor(); myTimerForClose.StartCountdown(); } else if (argument == "open") { myDoorOut.ApplyAction("OnOff_Off"); myDoorIn.ApplyAction("OnOff_On"); myDoorIn.OpenDoor(); } } } }