Hmmm, I replaced the commas with + but there is still no output in my console. WHere is my full script:
using System.Collections;
using System.Linq;
using System.Collections.Generic;
using UnityEngine.UI;
using UnityEngine;
public class KeyBindScript : MonoBehaviour {
private Dictionary<string, KeyCode> Keys = new Dictionary<string, KeyCode> ();
private Dictionary<string, Text> ButTextLookup = new Dictionary<string, Text> ();
private GameObject currentKey;
public Text forward, backwards, movleft, movright, leanleft, leanright, run, jump, crouch, interact, attack, clairvoyance, journal, inventory, tasks, watch, quickwheel, pausemenu;
void Start ()
{
Keys.Add("Forward", KeyCode.W);
Keys.Add("Backwards", KeyCode.S);
Keys.Add("MovLeft", KeyCode.A);
Keys.Add("MovRight", KeyCode.D);
Keys.Add("LeanLeft", KeyCode.Q);
Keys.Add("LeanRight", KeyCode.E);
Keys.Add("Run", KeyCode.LeftShift);
Keys.Add("Jump", KeyCode.Space);
Keys.Add("Crouch", KeyCode.LeftControl);
Keys.Add("Interact", KeyCode.F);
Keys.Add("Attack", KeyCode.Mouse0);
Keys.Add("Clairvoyance", KeyCode.Mouse1);
Keys.Add("Journal", KeyCode.J);
Keys.Add("Inventory", KeyCode.I);
Keys.Add("Tasks", KeyCode.X);
Keys.Add("Watch", KeyCode.C);
Keys.Add("QuickWheel", KeyCode.Mouse3);
Keys.Add("PauseMenu", KeyCode.Escape);
Keys.Add("Additional1", KeyCode.R);
ButTextLookup.Add ("Forward", forward);
ButTextLookup.Add("Backwards", backwards);
ButTextLookup.Add ("MovLeft", movleft);
ButTextLookup.Add ("MovRight", movright);
ButTextLookup.Add ("LeanLeft", leanleft);
ButTextLookup.Add ("LeanRight", leanright);
ButTextLookup.Add ("Run", run);
ButTextLookup.Add ("Jump", jump);
ButTextLookup.Add ("Crouch", crouch);
ButTextLookup.Add ("Interact", interact);
ButTextLookup.Add ("Attack", attack);
ButTextLookup.Add ("Clairvoyance", clairvoyance);
ButTextLookup.Add ("Journal", journal);
ButTextLookup.Add ("Inventory", inventory);
ButTextLookup.Add ("Tasks", tasks);
ButTextLookup.Add ("Watch", watch);
ButTextLookup.Add ("QuickWheel", quickwheel);
ButTextLookup.Add ("PauseMenu", pausemenu);
forward.text = Keys ["Forward"].ToString ();
backwards.text = Keys ["Backwards"].ToString ();
movleft.text = Keys ["MovLeft"].ToString ();
movright.text = Keys ["MovRight"].ToString ();
leanleft.text = Keys ["LeanLeft"].ToString ();
leanright.text = Keys ["LeanRight"].ToString ();
run.text = Keys ["Run"].ToString ();
jump.text = Keys ["Jump"].ToString ();
crouch.text = Keys ["Crouch"].ToString ();
interact.text = Keys ["Interact"].ToString ();
attack.text = Keys ["Attack"].ToString ();
clairvoyance.text = Keys ["Clairvoyance"].ToString ();
journal.text = Keys ["Journal"].ToString ();
inventory.text = Keys ["Inventory"].ToString ();
tasks.text = Keys ["Tasks"].ToString ();
watch.text = Keys ["Watch"].ToString ();
quickwheel.text = Keys ["QuickWheel"].ToString ();
pausemenu.text = Keys ["PauseMenu"].ToString ();
}
void OnGUI()
{
if (currentKey != null) {
Event e = Event.current;
if (e.isKey) {
Keys [currentKey.name] = e.keyCode;
foreach (var kvp in Keys.ToList()) {
if (kvp.Value == e.keyCode) {
if (currentKey.name != kvp.Key) {
Keys [kvp.Key] = KeyCode.None;
ButTextLookup [kvp.Key].text = "*Unbound*";
}
}
}
currentKey.transform.GetChild(0).GetComponent<Text> ().text = e.keyCode.ToString ();
currentKey = null;
}
}
}
public void ChangeKey(GameObject clicked)
{
currentKey = clicked;
}
void ConsoleOutput()
{
foreach (KeyValuePair<string, KeyCode> kvp in Keys)
Debug.Log ("Key = {0} + Value = {1}"+ kvp.Key + kvp.Value);
}
}