コード例 #1
0
ファイル: EliteGamepadAdapter.cs プロジェクト: u53r55/Elite
 /// <summary>
 /// Disconnects the gamepad.
 /// </summary>
 /// <param name="data">The data.</param>
 private void RemoveGamepad(EliteGamepad data)
 {
     if (this.gamepad == data)
     {
         this.IsReady = false;
     }
 }
コード例 #2
0
ファイル: EliteGamepadAdapter.cs プロジェクト: mhvuze/Elite
 /// <summary>
 /// Disconnects the gamepad.
 /// </summary>
 /// <param name="data">The data.</param>
 private void RemoveGamepad(EliteGamepad data)
 {
     if (this.gamepadId == data.FriendlyName)
     {
         this.IsReady = false;
     }
 }
コード例 #3
0
ファイル: EliteGamepadAdapter.cs プロジェクト: u53r55/Elite
 /// <summary>
 /// Connects the gamepad.
 /// </summary>
 /// <param name="gamepad">The gamepad.</param>
 private void EnsureGamepadInitialized(EliteGamepad gamepad)
 {
     lock (this.gamepadLock)
     {
         EliteGamepad.CheckForDriverLoaded();
         this.gamepad = gamepad;
         this.IsReady = true;
     }
 }
コード例 #4
0
ファイル: EliteGamepadAdapter.cs プロジェクト: u53r55/Elite
        /// <summary>
        /// Tries the create.
        /// </summary>
        /// <param name="gamepadFriendlyName">ID of the game pad trying to be created.</param>
        /// <param name="gamepad">The gamepad.</param>
        /// <returns>True if a gamepad was created successfully; otherwise, false.</returns>
        public static bool TryCreate(string gamepadFriendlyName, out EliteGamepadAdapter gamepad)
        {
            EliteGamepad.CheckForDriverLoaded();
            var underlying = EliteGamepad.EliteGamepads.FirstOrDefault(g => g.FriendlyName == gamepadFriendlyName);

            if (underlying == null)
            {
                gamepad = null;
                return(false);
            }

            gamepad = new EliteGamepadAdapter(underlying);
            return(true);
        }
コード例 #5
0
ファイル: EliteGamepadAdapter.cs プロジェクト: u53r55/Elite
        /// <summary>
        /// Tries to create a gamepad.
        /// </summary>
        /// <param name="gamepad">The gamepad.</param>
        /// <returns>True if a gamepad was created successfully; otherwise, false.</returns>
        public static bool TryCreate(out EliteGamepadAdapter gamepad)
        {
            EliteGamepad.CheckForDriverLoaded();
            var underlying = EliteGamepad.EliteGamepads.FirstOrDefault();

            if (underlying == null)
            {
                gamepad = null;
                return(false);
            }

            var config = underlying.GetConfiguration(underlying.CurrentSlotId);

            gamepad = new EliteGamepadAdapter(underlying);
            return(true);
        }
コード例 #6
0
ファイル: EliteGamepadAdapter.cs プロジェクト: saqneo/Elite
        /// <summary>
        /// Initializes a new instance of the <see cref="EliteGamepadAdapter"/> class.
        /// </summary>
        /// <param name="gamepad">The gamepad.</param>
        private EliteGamepadAdapter(EliteGamepad gamepad)
        {
            this.gamepad = gamepad;
            this.gamepadId = gamepad.FriendlyName;
            this.IsReady = true;

            // Should make this disposable so they get removed, but it should never be a problem unless somebody is being naughty or ambitious :)
            EliteGamepad.EliteGamepadAdded += (sender, data) =>
            {
                this.EnsureGamepadInitialized(data);
            };

            EliteGamepad.EliteGamepadRemoved += (sender, data) =>
            {
                this.RemoveGamepad(data);
            };
        }
コード例 #7
0
        /// <summary>
        /// Initializes a new instance of the <see cref="EliteGamepadAdapter"/> class.
        /// </summary>
        /// <param name="gamepad">The gamepad.</param>
        private EliteGamepadAdapter(EliteGamepad gamepad)
        {
            this.gamepad   = gamepad;
            this.gamepadId = gamepad.FriendlyName;
            this.IsReady   = true;

            // Should make this disposable so they get removed, but it should never be a problem unless somebody is being naughty or ambitious :)
            EliteGamepad.EliteGamepadAdded += (sender, data) =>
            {
                this.EnsureGamepadInitialized(data);
            };

            EliteGamepad.EliteGamepadRemoved += (sender, data) =>
            {
                this.RemoveGamepad(data);
            };
        }
コード例 #8
0
ファイル: EliteGamepadAdapter.cs プロジェクト: saqneo/Elite
        /// <summary>
        /// Tries to create a gamepad.
        /// </summary>
        /// <param name="gamepad">The gamepad.</param>
        /// <returns>True if a gamepad was created successfully; otherwise, false.</returns>
        public static bool TryCreate(out EliteGamepadAdapter gamepad)
        {
            EliteGamepad.CheckForDriverLoaded();
            var underlying = EliteGamepad.EliteGamepads.FirstOrDefault();
            if (underlying == null)
            {
                gamepad = null;
                return false;
            }

            gamepad = new EliteGamepadAdapter(underlying);
            return true;
        }
コード例 #9
0
ファイル: EliteGamepadAdapter.cs プロジェクト: saqneo/Elite
 /// <summary>
 /// Connects the gamepad.
 /// </summary>
 /// <param name="gamepad">The gamepad.</param>
 private void EnsureGamepadInitialized(EliteGamepad gamepad)
 {
     lock (this.gamepadLock)
     {
         EliteGamepad.CheckForDriverLoaded();
         this.gamepad = gamepad;
         this.IsReady = true;
     }
 }
コード例 #10
0
ファイル: EliteGamepadAdapter.cs プロジェクト: saqneo/Elite
 /// <summary>
 /// Disconnects the gamepad.
 /// </summary>
 /// <param name="data">The data.</param>
 private void RemoveGamepad(EliteGamepad data)
 {
     if (this.gamepadId == data.FriendlyName)
     {
         this.IsReady = false;
     }
 }