import 'memo.dart'; class CareTaker { final List _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; }