| 1234567891011121314151617181920212223242526272829 |
- import 'memo.dart';
- class CareTaker {
- final List<Memo> _mementoList = [];
- void add(Memo memo) {
- _mementoList.add(memo);
- if (_mementoList.length > 10) {
- _mementoList.removeAt(0);
- }
- }
- /// 撤销人类+AI 各一步(共两步),恢复到此前快照。
- Memo getLast() {
- if (_mementoList.length < 3) {
- return Memo();
- }
- final memo = _mementoList[_mementoList.length - 3];
- _mementoList.removeLast();
- _mementoList.removeLast();
- return Memo(memo.state);
- }
- void clear() {
- _mementoList.clear();
- }
- int get length => _mementoList.length;
- }
|