Example #1
0
 /// <param name="eager">Should the trigger execute as soon as the door starts opening?</param>
 /// <param name="raw">Use raw status. Triggers twice: Opening, Open.</param>
 public DoorStatusChangedTrigger(ISelector <IMyDoor> door, bool eager = true, bool raw = false)
 {
     _door       = door.GetBlock();
     _doorStatus = GetStatus();
     _eager      = eager;
     _raw        = raw;
 }
Example #2
0
 public AirlockConstruct(ISelector <IMyDoor> innerDoor, ISelector <IMyDoor> outerDoor, ISelector <IMyAirVent> vent)
 {
     _innerDoor         = innerDoor.GetBlock();
     _outerDoor         = outerDoor.GetBlock();
     _vent              = vent.GetBlock();
     _status            = _vent.Status;
     _enabled           = _vent.Enabled;
     CycleAction        = new ScriptableAction(() => Cycle());
     PressurizeAction   = new ScriptableAction(() => Cycle(true));
     DepressurizeAction = new ScriptableAction(() => Cycle(false));
     _triggers.Add(new IntervalTrigger(300).Then(new ScriptableAction(Update)));
 }