public override void Input() { ButtonInput saveButton = Woofer.Controller.InputManager.ActiveInputMap.Quicksave; ButtonInput loadButton = Woofer.Controller.InputManager.ActiveInputMap.Quickload; if (saveButton.Consume()) { SaveOperation save = new SaveOperation(Owner, TargetFile); save.AddConverter(new CollisionBoxConverter()); save.AddConverter(new ColorConverter()); save.AddConverter(new ListConverter <CollisionBox>()); save.AddConverter(new ListConverter <Sound>()); save.AddConverter(new ListConverter <Sprite>()); save.AddConverter(new ListConverter <AnimatedSprite>()); save.AddConverter(new EnumConverter <DrawMode>()); save.AddConverter(new BoolMapConverter()); save.Save(); Owner.Events.InvokeEvent(new ShowTextEvent("Saved", null)); } if (loadButton.Consume()) { LoadOperation load = new LoadOperation(Woofer.Controller, TargetFile); load.AddConverter(new CollisionBoxConverter()); load.AddConverter(new ColorConverter()); load.AddConverter(new ListConverter <CollisionBox>()); load.AddConverter(new ListConverter <Sound>()); load.AddConverter(new ListConverter <Sprite>()); load.AddConverter(new ListConverter <AnimatedSprite>()); load.AddConverter(new EnumConverter <DrawMode>()); load.AddConverter(new BoolMapConverter()); Woofer.Controller.CommandFired(new InternalSceneChangeCommand(load.Load())); Woofer.Controller.ActiveScene.Events.InvokeEvent(new ShowTextEvent("Loaded", null)); Woofer.Controller.Paused = false; } }