public virtual void SetControllerOldInputState(InputStates inputFromOldState)
 {
     foreach (IController controller in controllerList)
     {
         controller.OldInputState = inputFromOldState;
     }
 }
        public static InputStates GetOldInputState(List <IController> controllerList)
        {
            InputStates oldInputState = new InputStates();

            foreach (IController controller in controllerList)
            {
                switch (controller.InputType)
                {
                case InputType.Keyboard:
                    oldInputState.KeyboardState = controller.OldInputState.KeyboardState;
                    break;

                case InputType.Mouse:
                    oldInputState.MouseState = controller.OldInputState.MouseState;
                    break;

                case InputType.Gamepad:
                    oldInputState.GamePadState = controller.OldInputState.GamePadState;
                    break;
                }
            }

            return(oldInputState);
        }