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