PBG2H23ABR_PBG2H23AKL_PMC_P.../Plunderblock/Assets/Scripts/ScriptsJan/InputScripts/InputManagerScript.cs

101 lines
2.5 KiB
C#

using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
public class InputManagerScript : MonoBehaviour
{
// Input Options
[Header("Input")]
[SerializeField] private KeyCode moveRight;
[SerializeField] private KeyCode moveLeft;
[SerializeField] private KeyCode moveForward;
[SerializeField] private KeyCode moveBack;
[SerializeField] private KeyCode jump;
[SerializeField] private KeyCode shoot;
[SerializeField] private KeyCode reload;
// for the UI of button remaping
[SerializeField] private TextMeshProUGUI[] currentKeys;
// Update is called once per frame
void Update()
{
}
//---------------------------------------- Get Input (for other Scripts) -----------------------------------------
public KeyCode getMoveRight()
{
return moveRight;
}
public KeyCode getMoveLeft()
{
return moveLeft;
}
public KeyCode getMoveForward()
{
return moveForward;
}
public KeyCode getMoveBack()
{
return moveBack;
}
public KeyCode getJump()
{
return jump;
}
public KeyCode getShoot()
{
return shoot;
}
public KeyCode getReload()
{
return reload;
}
//---------------------------------------------- Remap Buttons ----------------------------------------------------
public void remapKey(string actionName, KeyCode key) // remaps the action to the new Button and changes it in the UI (keybinding)
{
switch(actionName)
{
case "moveRight":
moveRight = key; // new Button
currentKeys[0].text = key.ToString();
break;
case "moveLeft":
moveLeft = key;
currentKeys[1].text = key.ToString();
break;
case "moveForward":
moveForward = key;
currentKeys[2].text = key.ToString();
break;
case "moveBack":
moveBack = key;
currentKeys[3].text = key.ToString();
break;
case "jump":
jump = key;
currentKeys[4].text = key.ToString();
break;
case "shoot":
shoot = key;
currentKeys[5].text = key.ToString();
break;
case "reload":
reload = key;
currentKeys[6].text = key.ToString();
break;
}
}
}