控制时间快慢功能概要设计

更新记录

版本 日期 修改人 修改内容
1.0.0 2020年7月6日 蔺浪(510525) 新建文档

1 原型

1.1 策划案

1.2 需求分析

2 关键技术方案

2.1 控制时间数据存储

  • 控制时间快慢相关的参数数据记录在其资源包中的“main.ndlab”文件中;
  • 当保存实验颗粒时,将控制时间快慢相关的参数数据序列化后,写入上述“main.ndlab”文件中存储;
  • 后续打包实验颗粒压缩文件(具体细节不在此文档范畴,略)。

2.2 控制时间数据读取

  • 控制时间快慢相关的参数数据记录在其资源包中的“main.ndlab”文件中;
  • 从上述“main.ndlab”文件中读取控制时间快慢相关参数数据,反序列化为结构化数据,提供给其它组件或者应用使用。

3 组件图/时序图

3.1 组件图


3.2 时序图

3.3 核心类图


4 数据结构设计

5 API接口设计

5.1 CourseTimeSetting

  • 实验颗粒时间设置配置。

6 业务层接口ViewModel

6.1 PeriodTimeCtrlViewModel


6.2 PeriodTimeCtrlViewModel 接口、事件、属性说明

接口-开始周期时间加速

在UI上点击开始加速的时候调用,调用后处于开始加速的状态,多次调用只以第一次为准

  public void Start()

接口-暂停时间加速

在UI上点击开始加速的时候调用,只有处于开始加速状态才会暂停,调用后处于暂停状态,多次调用只以第一次为准

  public void Pause()

接口-继续时间加速

在UI上点击继续加速的时候调用,只有处于暂停状态才会继续,调用用处于加速状态

  public void Resume()

属性-是否激活

只读,周期时间加速由器材激活,返回当前是否有可用的周期加速

  public bool IsEnable;

属性-开始加速时间

只读,返回周期时间加速开始的时间,

  public DateTime StartTime;

属性-加速后的流逝时间

只读,返回已加速的时间,此为虚拟时间,比如加速2倍,现实中过去10秒,那虚拟的时间就是20秒

  public TimeSpan PassedTime;

属性-观察点数据

*只读,返回所有的观察点,安装观察点的sequence排好序

  public List<WatchPoint> WatchPoints;

属性-观察点数据

*只读,返回所有的观察点的进度,用于UI上显示进度条,每个观察点有独立的进度

  public float[] Progress;

属性-加速倍率

*只读,当前加速的倍率

  public float SpeedScale;

属性-显示的标题

*只读,当前加速的标题

  public string DisplayTitle;

属性-显示的标题

*只读,当前加速的状态

  public int State;
状态值 说明
0 未开始加速
1 开始加速
2 暂停
3 停止,加速结束

相关文档