暂无描述
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

ScaleProcessor.cs 1.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using UnityEngine.Scripting;
  2. namespace UnityEngine.InputSystem.Processors
  3. {
  4. /// <summary>
  5. /// Scale a float value by a constant factor.
  6. /// </summary>
  7. /// <remarks>
  8. /// This processor is registered (see <see cref="InputSystem.RegisterProcessor{T}"/>) under the name "scale".
  9. ///
  10. /// <example>
  11. /// <code>
  12. /// </code>
  13. /// // Bind to left trigger on the gamepad such that its values are scaled by a factor of 2.
  14. /// new InputAction(binding: "&lt;Gamepad&gt;/leftTrigger", processors: "scale(factor=2)");
  15. /// </example>
  16. /// </remarks>
  17. /// <seealso cref="ScaleVector2Processor"/>
  18. /// <seealso cref="ScaleVector3Processor"/>
  19. public class ScaleProcessor : InputProcessor<float>
  20. {
  21. /// <summary>
  22. /// Scale factor to apply to incoming input values. Defaults to 1 (no scaling).
  23. /// </summary>
  24. [Tooltip("Scale factor to multiply incoming float values by.")]
  25. public float factor = 1;
  26. /// <summary>
  27. /// Scale the given <paramref name="value"/> by <see cref="factor"/>.
  28. /// </summary>
  29. /// <param name="value">Input value.</param>
  30. /// <param name="control">Ignored.</param>
  31. /// <returns>Scaled value.</returns>
  32. public override float Process(float value, InputControl control)
  33. {
  34. return value * factor;
  35. }
  36. /// <inheritdoc/>
  37. public override string ToString()
  38. {
  39. return $"Scale(factor={factor})";
  40. }
  41. }
  42. }