117 lines
3.4 KiB
C#
117 lines
3.4 KiB
C#
|
|
using UnityEngine;
|
|||
|
|
using UnityEngine.UI;
|
|||
|
|
using TMPro;
|
|||
|
|
|
|||
|
|
public class KeyRebinder : MonoBehaviour
|
|||
|
|
{
|
|||
|
|
[System.Serializable]
|
|||
|
|
public class KeyBinding
|
|||
|
|
{
|
|||
|
|
public string <EFBFBD><EFBFBD><EFBFBD≯<EFBFBD>;
|
|||
|
|
public KeyCode <EFBFBD>⺻Ű;
|
|||
|
|
public KeyCode <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ű;
|
|||
|
|
public Button <EFBFBD><EFBFBD>ư;
|
|||
|
|
public TextMeshProUGUI <EFBFBD><EFBFBD>ư<EFBFBD>ؽ<EFBFBD>Ʈ;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public KeyBinding[] Ű<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
|
|||
|
|
[Header("<22>̹<EFBFBD><CCB9><EFBFBD> <20><><EFBFBD><EFBFBD>")]
|
|||
|
|
public Sprite <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̹<EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
public Sprite <EFBFBD>Է<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̹<EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
|
|||
|
|
private KeyBinding <EFBFBD><EFBFBD><EFBFBD>纯<EFBFBD><EFBFBD><EFBFBD><EFBFBD> = null;
|
|||
|
|
|
|||
|
|
// <20>˱<EFBFBD> <20><><EFBFBD><EFBFBD> <20≯<EFBFBD><CCB8><EFBFBD><EFBFBD><EFBFBD> <20><>ȯ
|
|||
|
|
string Ű<EFBFBD≯<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(KeyCode Ű)
|
|||
|
|
{
|
|||
|
|
switch (Ű)
|
|||
|
|
{
|
|||
|
|
case KeyCode.Mouse0: return "<22><><EFBFBD>콺 <20><>Ŭ<EFBFBD><C5AC>";
|
|||
|
|
case KeyCode.Mouse1: return "<22><><EFBFBD>콺 <20><>Ŭ<EFBFBD><C5AC>";
|
|||
|
|
case KeyCode.Mouse2: return "<22><><EFBFBD>콺 <20><>Ŭ<EFBFBD><C5AC>";
|
|||
|
|
case KeyCode.Space: return "<22><><EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><CCBD><EFBFBD>";
|
|||
|
|
case KeyCode.Return: return "<22><><EFBFBD><EFBFBD>";
|
|||
|
|
case KeyCode.Escape: return "ESC";
|
|||
|
|
case KeyCode.LeftShift: return "<22><> Shift";
|
|||
|
|
case KeyCode.RightShift: return "<22><> Shift";
|
|||
|
|
case KeyCode.LeftControl: return "<22><> Ctrl";
|
|||
|
|
case KeyCode.RightControl: return "<22><> Ctrl";
|
|||
|
|
case KeyCode.LeftAlt: return "<22><> Alt";
|
|||
|
|
case KeyCode.RightAlt: return "<22><> Alt";
|
|||
|
|
case KeyCode.Tab: return "Tab";
|
|||
|
|
case KeyCode.CapsLock: return "CapsLock";
|
|||
|
|
case KeyCode.Backspace: return "Backspace";
|
|||
|
|
case KeyCode.Delete: return "Delete";
|
|||
|
|
case KeyCode.UpArrow: return "<22><>";
|
|||
|
|
case KeyCode.DownArrow: return "<22><>";
|
|||
|
|
case KeyCode.LeftArrow: return "<22><>";
|
|||
|
|
case KeyCode.RightArrow: return "<22><>";
|
|||
|
|
default: return Ű.ToString().ToUpper();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void Start()
|
|||
|
|
{
|
|||
|
|
foreach (KeyBinding Ű in Ű<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
|
{
|
|||
|
|
string <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ű = PlayerPrefs.GetString(Ű.<EFBFBD><EFBFBD><EFBFBD≯<EFBFBD>, Ű.<EFBFBD>⺻Ű.ToString());
|
|||
|
|
Ű.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ű = (KeyCode)System.Enum.Parse(typeof(KeyCode), <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ű);
|
|||
|
|
Ű<EFBFBD>ؽ<EFBFBD>Ʈ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ(Ű);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void Ű<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(int <EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
|
{
|
|||
|
|
if (<EFBFBD><EFBFBD><EFBFBD>纯<EFBFBD><EFBFBD><EFBFBD><EFBFBD> != null)
|
|||
|
|
<EFBFBD><EFBFBD><EFBFBD>纯<EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<EFBFBD><EFBFBD>ư.GetComponent<Image>().sprite = <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̹<EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
|
|||
|
|
<EFBFBD><EFBFBD><EFBFBD>纯<EFBFBD><EFBFBD><EFBFBD><EFBFBD> = Ű<EFBFBD><EFBFBD><EFBFBD><EFBFBD>[<EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD>];
|
|||
|
|
<EFBFBD><EFBFBD><EFBFBD>纯<EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<EFBFBD><EFBFBD>ư.GetComponent<Image>().sprite = <EFBFBD>Է<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̹<EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
<EFBFBD><EFBFBD><EFBFBD>纯<EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<EFBFBD><EFBFBD>ư<EFBFBD>ؽ<EFBFBD>Ʈ.text = "<22>Է<EFBFBD><D4B7>ϼ<EFBFBD><CFBC><EFBFBD>...";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void Update()
|
|||
|
|
{
|
|||
|
|
if (<EFBFBD><EFBFBD><EFBFBD>纯<EFBFBD><EFBFBD><EFBFBD><EFBFBD> == null) return;
|
|||
|
|
|
|||
|
|
if (Input.GetKeyDown(KeyCode.Escape))
|
|||
|
|
{
|
|||
|
|
<EFBFBD><EFBFBD><EFBFBD>纯<EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<EFBFBD><EFBFBD>ư.GetComponent<Image>().sprite = <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̹<EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
Ű<EFBFBD>ؽ<EFBFBD>Ʈ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ(<EFBFBD><EFBFBD><EFBFBD>纯<EFBFBD><EFBFBD><EFBFBD><EFBFBD>);
|
|||
|
|
<EFBFBD><EFBFBD><EFBFBD>纯<EFBFBD><EFBFBD><EFBFBD><EFBFBD> = null;
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
foreach (KeyCode Ű<EFBFBD>ڵ<EFBFBD> in System.Enum.GetValues(typeof(KeyCode)))
|
|||
|
|
{
|
|||
|
|
if (Input.GetKeyDown(Ű<EFBFBD>ڵ<EFBFBD>))
|
|||
|
|
{
|
|||
|
|
<EFBFBD><EFBFBD><EFBFBD>纯<EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ű = Ű<EFBFBD>ڵ<EFBFBD>;
|
|||
|
|
PlayerPrefs.SetString(<EFBFBD><EFBFBD><EFBFBD>纯<EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<EFBFBD><EFBFBD><EFBFBD≯<EFBFBD>, Ű<EFBFBD>ڵ<EFBFBD>.ToString());
|
|||
|
|
PlayerPrefs.Save();
|
|||
|
|
|
|||
|
|
<EFBFBD><EFBFBD><EFBFBD>纯<EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<EFBFBD><EFBFBD>ư.GetComponent<Image>().sprite = <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̹<EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
Ű<EFBFBD>ؽ<EFBFBD>Ʈ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ(<EFBFBD><EFBFBD><EFBFBD>纯<EFBFBD><EFBFBD><EFBFBD><EFBFBD>);
|
|||
|
|
<EFBFBD><EFBFBD><EFBFBD>纯<EFBFBD><EFBFBD><EFBFBD><EFBFBD> = null;
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void Ű<EFBFBD>ؽ<EFBFBD>Ʈ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ(KeyBinding Ű)
|
|||
|
|
{
|
|||
|
|
Ű.<EFBFBD><EFBFBD>ư<EFBFBD>ؽ<EFBFBD>Ʈ.text = Ű<EFBFBD≯<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(Ű.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ű);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void <EFBFBD>⺻<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>()
|
|||
|
|
{
|
|||
|
|
foreach (KeyBinding Ű in Ű<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
|
{
|
|||
|
|
Ű.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ű = Ű.<EFBFBD>⺻Ű;
|
|||
|
|
PlayerPrefs.SetString(Ű.<EFBFBD><EFBFBD><EFBFBD≯<EFBFBD>, Ű.<EFBFBD>⺻Ű.ToString());
|
|||
|
|
Ű<EFBFBD>ؽ<EFBFBD>Ʈ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ(Ű);
|
|||
|
|
}
|
|||
|
|
PlayerPrefs.Save();
|
|||
|
|
}
|
|||
|
|
}
|