r2mods/ilspy_dump/ror2_csproj/RoR2/InputStickVisualizer.cs

91 lines
2.0 KiB
C#

using Rewired;
using RoR2.UI;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
namespace RoR2;
[RequireComponent(typeof(MPEventSystemLocator))]
public class InputStickVisualizer : MonoBehaviour
{
[Header("Move")]
public Scrollbar moveXBar;
public Scrollbar moveYBar;
public TextMeshProUGUI moveXLabel;
public TextMeshProUGUI moveYLabel;
[Header("Aim")]
public Scrollbar aimXBar;
public Scrollbar aimYBar;
public TextMeshProUGUI aimXLabel;
public TextMeshProUGUI aimYLabel;
public Scrollbar aimStickPostSmoothingXBar;
public Scrollbar aimStickPostSmoothingYBar;
public Scrollbar aimStickPostDualZoneXBar;
public Scrollbar aimStickPostDualZoneYBar;
public Scrollbar aimStickPostExponentXBar;
public Scrollbar aimStickPostExponentYBar;
private MPEventSystemLocator eventSystemLocator;
private void Awake()
{
eventSystemLocator = GetComponent<MPEventSystemLocator>();
}
private Player GetPlayer()
{
return eventSystemLocator.eventSystem?.player;
}
private CameraRigController GetCameraRigController()
{
if (CameraRigController.readOnlyInstancesList.Count <= 0)
{
return null;
}
return CameraRigController.readOnlyInstancesList[0];
}
private void SetBarValues(Vector2 vector, Scrollbar scrollbarX, Scrollbar scrollbarY)
{
if ((bool)scrollbarX)
{
scrollbarX.value = Util.Remap(vector.x, -1f, 1f, 0f, 1f);
}
if ((bool)scrollbarY)
{
scrollbarY.value = Util.Remap(vector.y, -1f, 1f, 0f, 1f);
}
}
private void Update()
{
Player player = GetPlayer();
if ((bool)GetCameraRigController() && player != null)
{
Vector2 vector = new Vector2(player.GetAxis(0), player.GetAxis(1));
Vector2 vector2 = new Vector2(player.GetAxis(16), player.GetAxis(17));
SetBarValues(vector, moveXBar, moveYBar);
SetBarValues(vector2, aimXBar, aimYBar);
moveXLabel.text = $"move.x={vector.x:0.0000}";
moveYLabel.text = $"move.y={vector.y:0.0000}";
aimXLabel.text = $"aim.x={vector2.x:0.0000}";
aimYLabel.text = $"aim.y={vector2.y:0.0000}";
}
}
}