/// <summary> /// Constructor for <see cref="FeedingSlot"/> /// </summary> public FeedingSlot(string name, IGateDevice gate, IDigitalSensor sensor, IEnumerable <FeedingSlot> dependendSlots, IThingsResource thingsResource) { _gate = gate; _sensor = sensor; _dependendSlots = dependendSlots.ToArray(); Name = name; }
/// <summary> /// Default constructor for <see cref="FeedingSlot"/> /// </summary> /// <param name="slotConfig"></param> /// <param name="dependendSlots"></param> /// <param name="thingsResource"></param> public FeedingSlot(FeedingSlotOptions options, IEnumerable <FeedingSlot> dependendSlots, IThingsResource thingsResource) { _gate = thingsResource.GetDevice <IGateDevice>(options.FlapId); BypassSensor = options.BypassSensor; _sensor = BypassSensor ? null : thingsResource.GetDevice <IDigitalSensor>(options.SensorId); _dependendSlots = dependendSlots == null ? new FeedingSlot[0] : dependendSlots.ToArray(); Name = options.Name; }