Advertisement
LtTwinkie

LtTwinkie's Dampen Script v1.0

Jun 4th, 2018
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.50 KB | None | 0 0
  1.     /* Twinkie Industries™ Automation Presents
  2.      * Dampen Script v1.0*/
  3.  
  4.     void Main()
  5.     {
  6.         //List control blocks
  7.         List<IMyTerminalBlock> controllers = new List<IMyTerminalBlock>();
  8.         List<IMyTerminalBlock> temp = new List<IMyTerminalBlock>();
  9.  
  10.         GridTerminalSystem.GetBlocksOfType<IMyCockpit>(temp);
  11.         controllers.AddList<IMyTerminalBlock>(temp);
  12.  
  13.         GridTerminalSystem.GetBlocksOfType<IMyRemoteControl>(temp);
  14.         controllers.AddList<IMyTerminalBlock>(temp);
  15.  
  16.         //If there is a controller....
  17.         if (controllers.Count > 0)
  18.         {
  19.             bool isNotDamped = true;
  20.             int primaryController = 0;
  21.  
  22.             //For each controller...
  23.             for (int i = 0; i < controllers.Count; i++)
  24.             {
  25.                 StringBuilder overrideValue = new StringBuilder();
  26.                 StringBuilder primaryValue = new StringBuilder();
  27.  
  28.                 controllers[i].GetActionWithName("DampenersOverride").WriteValue(controllers[i], overrideValue);
  29.                 controllers[i].GetActionWithName("MainCockpit").WriteValue(controllers[i], primaryValue);
  30.  
  31.                 if (overrideValue.ToString() == "On") isNotDamped = false;
  32.                 if (primaryValue.ToString() == "On") primaryController = i;
  33.             }
  34.  
  35.             //If the dampeners are NOT on...turn them on...using the primary controller
  36.             if (isNotDamped) controllers[primaryController].ApplyAction("DampenersOverride");
  37.         }
  38.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement