public override void OnPressureStatusChanging(ApparatusStatusContext context, PressureStatusBase oldStatus, PressureStatusBase newStatus) { if (newStatus is NoPressure) { // 9、有人到无人,无人弹窗 ((DisplayTest)context.DisplayStatus).PropupStatus = new PropupNoPeople(); } }
public override void OnPressureStatusChanging(ApparatusStatusContext context, PressureStatusBase oldStatus, PressureStatusBase newStatus) { if (newStatus is NoPressure) { // 1、从有人到无人,切换到广告状态 context.DisplayStatus = new DisplayAdvertisement(); } }
public override void OnPressureStatusChanging(ApparatusStatusContext context, PressureStatusBase oldStatus, PressureStatusBase newStatus) { if (newStatus is UnderPressure) { // 2、无人到有人,切换到扫码状态 context.DisplayStatus = new DisplayQRCode(); } }
public override void OnPressureStatusChanging(ApparatusStatusContext context, PressureStatusBase oldStatus, PressureStatusBase newStatus) { if (newStatus is UnderPressure) { // 5、无人到有人,关闭弹窗 ((DisplayTest)context.DisplayStatus).PropupStatus = null; } }
public override void OnPressureStatusChanging(ApparatusStatusContext context, PressureStatusBase oldStatus, PressureStatusBase newStatus) { if (PropupStatus == null && newStatus is NoPressure) { // 4、有人到无人,进入无人弹窗状态 PropupStatus = new PropupNoPeople(); } PropupStatus?.OnPressureStatusChanging(context, oldStatus, newStatus); }
public FitnessApparatus() { var context = new ApparatusStatusContext(); context.PressureStatus = new NoPressure(); context.DisplayStatus = new DisplayAdvertisement(); context.PropupNoPeopleTime = TimeSpan.FromSeconds(5); this.StatusContext = context; }
public bool EndTest(ApparatusStatusContext context) { if (PropupStatus != null) { return(false); } // 6、测试结束 context.DisplayStatus = new DisplayQRCode(); return(true); }
public override void UpdateStatus(ApparatusStatusContext context) { TimeSpan time = (context.PropupNoPeopleTime - (DateTime.Now - BeginTime)); if (time.Ticks < 0) { // 10、时间到 context.DisplayStatus = new DisplayAdvertisement(); } else { this.Text = $"无人弹窗将在{time}后关闭"; } }
public bool Scavenging(ApparatusStatusContext context) { ///3、扫码成功,进入测试状态 context.DisplayStatus = new DisplayTest(); return(true); }
public virtual void OnPressureStatusChanging(ApparatusStatusContext context, PressureStatusBase oldStatus, PressureStatusBase newStatus) { }
public virtual void UpdateStatus(ApparatusStatusContext context) { }
public override void UpdateStatus(ApparatusStatusContext context) { PropupStatus?.UpdateStatus(context); }
public bool Exit(ApparatusStatusContext context) { // 12、选择退出 context.DisplayStatus = new DisplayQRCode(); return(true); }