Пример #1
0
        public HIDInterface(NintendoController controller) : base(controller)
        {
            hid = controller.GetRawHID();
            hid.TryOpen(out stream);

            // not the best but at least it doesn't crash when it decides to take its time
            stream.ReadTimeout  = Timeout.Infinite;
            stream.WriteTimeout = Timeout.Infinite;
        }
Пример #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="MazeRunner"/> class.
        /// </summary>
        /// <param name="game">The game.</param>
        /// <param name="texture">The texture.</param>
        /// <param name="maze">The maze.</param>
        public MazeRunner(Game game, MazeRunnerOptions options)
        {
            this._nintendoController = new NintendoController(game);
            this._maze        = options.Maze;
            this._texture     = options.Texture;
            this._dollarSound = options.DollarSound;
            this._dollarValue = options.DollarValue;

            this._currentCell = this._maze.StartingCell;
        }
Пример #3
0
        /// <summary>
        /// Constructs a new input state.
        /// </summary>
        /// <param name="game">The game.</param>
        public InputState(Game game)
        {
            this.CurrentKeyboardStates = new KeyboardState[MaxInputs];
            this.CurrentGamePadStates  = new GamePadState[MaxInputs];

            this.LastKeyboardStates = new KeyboardState[MaxInputs];
            this.LastGamePadStates  = new GamePadState[MaxInputs];

            this.GamePadWasConnected = new bool[MaxInputs];

            this._nintendoController = new NintendoController(game);
        }
Пример #4
0
        public Game1()
        {
            graphics = new GraphicsDeviceManager(this);
            graphics.PreferredBackBufferHeight = 720;
            graphics.PreferredBackBufferWidth  = 1280;
            graphics.ApplyChanges();
            graphics.IsFullScreen = false;

            Content.RootDirectory = "Content";

            this._nintendoController = new NintendoController(this);
        }
Пример #5
0
        /// <summary>
        /// Load graphics content for the screen.
        /// </summary>
        public override void LoadContent()
        {
            this._content            = new ContentManager(this.ScreenManager.Game.Services, "Content");
            this._spriteBatch        = this.ScreenManager.SpriteBatch;
            this._nintendoController = new NintendoController(this.ScreenManager.Game);

            _miniGameTimer = new QuizTimer(new TimeSpan(0, 1, 0));
            _miniGameTimer.LoadContent(ScreenManager.Font, Content, ScreenManager.GraphicsDevice);
            _miniGameTimer.TimeLocation = new Vector2(30, -5);

            base.LoadContent();
        }
Пример #6
0
        public static void CreateGluedJoycon()
        {
            Console.WriteLine("Applying some glue...");
            NintendoController leftJoycon    = null;
            NintendoController rightJoycon   = null;
            NintendoController proController = null;

            foreach (NintendoController controller in controllers)
            {
                HardwareInterface hardware = controller.GetHardware();
                hardware.SetReportMode(0x30); // 60hz update mode
                hardware.SetVibration(true);
                hardware.SetIMU(true);
                hardware.SetPlayerLights(PlayerLightState.Player1);
                HomeLEDInterface homeLED = controller.GetHomeLED();
                homeLED.SendPattern(HomeLEDInterface.GetHeartbeatPattern());

                switch (hardware.GetControllerType())
                {
                case ControllerType.LeftJoycon:
                    Console.WriteLine("Left Joycon detected.");
                    leftJoycon = controller;
                    break;

                case ControllerType.RightJoycon:
                    Console.WriteLine("Right Joycon detected.");
                    rightJoycon = controller;
                    break;

                case ControllerType.ProController:
                    Console.WriteLine("Pro Controller detected.");
                    proController = controller;
                    break;

                default:
                    Console.WriteLine("Unrecognized device.");
                    break;
                }
            }

            if (proController != null)
            {
                controller = proController.GetController().GetJoystick();
            }
            else
            {
                controller = leftJoycon.GetController().CombineWith(rightJoycon);
            }
        }
        // will override current stored Joystick
        public Controller CombineWith(NintendoController controller)
        {
            LeftJoycon  left  = null;
            RightJoycon right = null;

            switch (type)
            {
            case ControllerType.LeftJoycon:
                left  = (LeftJoycon)GetJoystick();
                right = (RightJoycon)controller.GetController().GetJoystick();
                break;

            case ControllerType.RightJoycon:
                left  = (LeftJoycon)controller.GetController().GetJoystick();
                right = (RightJoycon)GetJoystick();
                break;
            }
            return(new ProController(left, right));
        }
Пример #8
0
 public SPIInterface(NintendoController controller) : base(controller)
 {
     stream = new SPIStream(controller);
 }
Пример #9
0
 public HomeLEDInterface(NintendoController controller) : base(controller)
 {
     command = controller.GetCommands();
 }
Пример #10
0
 public HardwareInterface(NintendoController controller) : base(controller)
 {
     command = controller.GetCommands();
     spi     = controller.GetSPI();
 }
Пример #11
0
 public CommandInterface(NintendoController controller) : base(controller)
 {
     hid = controller.GetHID();
 }
 public ControllerInterface(NintendoController controller) : base(controller)
 {
     type = controller.GetHardware().GetControllerType();
     CreateJoystick();
 }
 public AbstractInterface(NintendoController controller)
 {
     this.controller = controller;
 }
Пример #14
0
 public ConfigurationInterface(NintendoController controller) : base(controller)
 {
     this.joystick = controller.GetController();
     spi           = controller.GetSPI();
     hardware      = controller.GetHardware();
 }
Пример #15
0
 public SPIStream(NintendoController controller)
 {
     this.controller = controller;
     command         = controller.GetCommands();
     hid             = controller.GetHID();
 }
Пример #16
0
 public ProController(NintendoController controller) : base(controller)
 {
     left  = new LeftJoycon(controller);
     right = new RightJoycon(controller);
 }
Пример #17
0
 public Controller(NintendoController controller)
 {
     this.controller = controller;
 }
Пример #18
0
 public Joycon(NintendoController controller) : base(controller)
 {
 }
Пример #19
0
 public IMUInterface(NintendoController controller) : base(controller)
 {
     config = controller.GetConfig().GetIMUConfiguration(ConfigurationType.Factory);
 }
Пример #20
0
 public static void FindControllers()
 {
     Console.WriteLine("Finding Nintendo controllers...");
     controllers = NintendoController.Discover();
 }