private static void Save() { InputController temp = Manager.controller.Clone(); //+1 speedrun tool, -5 buffered inputs temp.ReverseFrames(4); Engine.Scene.OnEndOfFrame += () => { if (StateManager.Instance.SaveState()) { savedController = temp; Manager.controller = savedController.Clone(); /* * List<VirtualInput> inputs = (List<VirtualInput>) * typeof(MInput).GetField("VirtualInputs", BindingFlags.NonPublic | BindingFlags.Static).GetValue(null); * foreach (VirtualInput input in inputs) { * if (input is VirtualButton) * savedBuffers.Add((float)input.GetPrivateField("bufferCounter")); * } */ routine = new Coroutine(LoadStateRoutine()); } }; }