/// <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; }
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))); }