#region License /* FNA - XNA4 Reimplementation for Desktop Platforms * Copyright 2009-2016 Ethan Lee and the MonoGame Team * * Released under the Microsoft Public License. * See LICENSE for details. */ #endregion namespace Microsoft.Xna.Framework.Input { public struct GamePadTriggers { #region Public Properties public float Left { get { return left; } internal set { left = MathHelper.Clamp(value, 0f, 1f); } } public float Right { get { return right; } internal set { right = MathHelper.Clamp(value, 0f, 1f); } } #endregion #region Private Variables private float left; private float right; #endregion #region Public Constructor public GamePadTriggers(float leftTrigger, float rightTrigger):this() { Left = leftTrigger; Right = rightTrigger; } #endregion #region Public Static Operators and Override Methods /// /// Determines whether two specified instances of are /// equal. /// /// The first object to compare. /// The second object to compare. /// /// True if and are equal; /// otherwise, false. /// public static bool operator ==(GamePadTriggers left, GamePadTriggers right) { return ( (MathHelper.WithinEpsilon(left.left, right.left)) && (MathHelper.WithinEpsilon(left.right, right.right)) ); } /// /// Determines whether two specified instances of are /// not equal. /// /// The first object to compare. /// The second object to compare. /// /// True if and are not equal; /// otherwise, false. /// public static bool operator !=(GamePadTriggers left, GamePadTriggers right) { return !(left == right); } /// /// Returns a value indicating whether this instance is equal to a specified object. /// /// An object to compare to this instance. /// /// True if is a and has the /// same value as this instance; otherwise, false. /// public override bool Equals(object obj) { return (obj is GamePadTriggers) && (this == (GamePadTriggers) obj); } public override int GetHashCode () { return this.Left.GetHashCode() + this.Right.GetHashCode(); } #endregion } }