private void Awake() { // Adds each key currently in player prefs or set to deault to a dictionary. // Adds each text element to a dictionary. keys.Add("Forward", (KeyCode)System.Enum.Parse(typeof(KeyCode), PlayerPrefs.GetString("Forward", "W"))); keytexts.Add("Forward", forwardButton); keys.Add("Backward", (KeyCode)System.Enum.Parse(typeof(KeyCode), PlayerPrefs.GetString("Backward", "S"))); keytexts.Add("Backward", backwardButton); keys.Add("Left", (KeyCode)System.Enum.Parse(typeof(KeyCode), PlayerPrefs.GetString("Left", "A"))); keytexts.Add("Left", leftButton); keys.Add("Right", (KeyCode)System.Enum.Parse(typeof(KeyCode), PlayerPrefs.GetString("Right", "D"))); keytexts.Add("Right", rightButton); keys.Add("Jump", (KeyCode)System.Enum.Parse(typeof(KeyCode), PlayerPrefs.GetString("Jump", "Space"))); keytexts.Add("Jump", jumpButton); keys.Add("Inventory", (KeyCode)System.Enum.Parse(typeof(KeyCode), PlayerPrefs.GetString("Inventory", "Tab"))); keytexts.Add("Inventory", inventoryButton); keys.Add("Cancel", (KeyCode)System.Enum.Parse(typeof(KeyCode), PlayerPrefs.GetString("Cancel", "Escape"))); keytexts.Add("Cancel", cancelButton); keys.Add("Interact", (KeyCode)System.Enum.Parse(typeof(KeyCode), PlayerPrefs.GetString("Interact", "E"))); keytexts.Add("Interact", interactButton); keys.Add("Sprint", (KeyCode)System.Enum.Parse(typeof(KeyCode), PlayerPrefs.GetString("Sprint", "LeftShift"))); keytexts.Add("Sprint", sprintButton); keys.Add("Crouch", (KeyCode)System.Enum.Parse(typeof(KeyCode), PlayerPrefs.GetString("Crouch", "LeftControl"))); keytexts.Add("Crouch", crouchButton); // Sets each text element to the corresponding keybind. foreach (KeyValuePair <string, Text> item in keytexts) { foreach (KeyValuePair <string, KeyCode> keyValuePair in keys) { if (item.Key.Equals(keyValuePair.Key)) { item.Value.text = keyValuePair.Value.ToString(); break; } } } if (!inMenu) { // Find objects incase we need them (only when in game) player = FindObjectOfType <Movement>(); inventory = FindObjectOfType <UIInventory>(); interact = FindObjectOfType <Interact>(); pause = FindObjectOfType <PauseMenu>(); } // Sets gameobject inactive after completing awake. gameObject.SetActive(false); }
private void Start() { linearInventory = FindObjectOfType <LinearInventory>(); uIInventory = FindObjectOfType <UIInventory>(); }