CyanStars
CyanStars copied to clipboard
feat: 支持在 clip 中放入一些 key
添加了 IKey IKeyableClip 用于支持在 clip 中定义 keys
添加了 IKeyClipData<T> 用于定义创建 key 时使用的数据
添加了 IClipCreator<TTrack> 接口替代委托用于创建 clips :
- KeyableClip 需要更多创建参数,这提供了更灵活的创建方案
- 通过扩展方法创建对应的 AnonymousCreator,保留了原有的委托创建方式
- TrackData 被移动至 creator 中,现在从 Timeline 创建 clip 时需要传入创建的 clip 数量
KeyableClip 的使用方式较为繁琐 :
- 使用
IKeyClipData定义 key 的数据 - 使用
ITrackData<T>定义 clip 数据,T 为实现了IKeyClipData的类型 - 根据签名分别实现
CreateClip与CreateKey方法
KeyClipCreator 使用与 TrackBuilder 类似的方法处理 key 的添加与排序,不需要额外处理
编辑:
如果框架层面不应该使用看上去有些繁琐的方式实现这样的功能,KeyableClip也可以作为外部扩展实现 (比如 CyanStars.Extension 之类的)
此 pr 也可以暂时搁置(或直接关闭),针对目前需求量不大的情况,可以改为在具体 Track 中实现,像 note track 那样