コード例 #1
0
        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());
                }
            };
        }