void DoRecordTime() { LastState = TimeControllState.Recording; TraversalUnit(o => { o.Record(CurrentFrame); }); LastFrame = CurrentFrame++; }
void DoRewindTime() { if (LastFrame < 0) { return; } TraversalUnit(o => { o.Rewind(LastFrame); }); LastFrame--; LastState = TimeControllState.Rewinding; }
void DoForwardTime() { // 前进不可以超过最高帧 if (LastFrame + 1 >= CurrentFrame) { return; } if (LastFrame < 0) { LastFrame = 0; } else { LastFrame++; } TraversalUnit(o => { o.Forward(LastFrame); }); LastState = TimeControllState.Forward; }
void Start() { CurrentFrame = 0; CurrentState = TimeControllState.Recording; LastState = TimeControllState.Recording; }