publicclassRecorderTest:Test{IOperationRecorderModule module {get{return Framework.env0.modules.Recoder;}}intvalue=0;protectedoverridevoidStart(){
Log.L("按下 A/D 切换状态");
Log.L($"The value is {value}");
module.AllocateAction().SetCommand(()=>{value++;},()=>{value--;}).Subscribe();
Log.L($"The value is {value}");
module.AllocateAction().SetCommand(()=>{value+=4;},()=>{value-=4;}).Subscribe();
Log.L($"The value is {value}");
module.AllocateAction().SetCommand(()=>{value+=8;},()=>{value-=8;}).Subscribe();
Log.L($"The value is {value}");}protectedoverridevoidStop(){}protectedoverridevoidUpdate(){if(Console.ReadKey().Key == ConsoleKey.A){bool bo = module.Undo();
Log.L("");
Log.L($"Undo success {bo}");
Log.L($"The value is {value}");}if(Console.ReadKey().Key == ConsoleKey.D){bool bo = module.Redo();
Log.L("");
Log.L($"Redo sucess {bo}");
Log.L($"The value is {value}");}}}