public override IComponentFeatureCollection GetFeatures() { var features = new ComponentFeatureCollection() .With(new PowerStateFeature()); if (_adapter.SupportsColor) { return(features.With(new ColorFeature())); } return(features); }
public override IComponentFeatureCollection GetFeatures() { var stateMachineFeature = new StateMachineFeature(); foreach (var state in _states) { stateMachineFeature.SupportedStates.Add(state.Id); } var features = new ComponentFeatureCollection() .With(stateMachineFeature); if (SupportsState(StateMachineStateExtensions.OffStateId) && SupportsState(StateMachineStateExtensions.OnStateId)) { features.With(new PowerStateFeature()); } return(features); }