Hi,
well I use static variables because it isn’t destroyed at the end of the function… So, I have that code:
public class mInput {
public static Dictionary<string, KeyCode> inputMap;
public static void LoadAllKeysFromConfig() {
inputMap = new Dictionary<string, KeyCode>();
inputMap.Add("Exp", GetKeyFromString("L"));
inputMap.Add("Kill", GetKeyFromString("K"));
inputMap.Add("FPS", GetKeyFromString("F10"));
inputMap.Add("EnableGUI", GetKeyFromString("F1"));
inputMap.Add("GameMenu", GetKeyFromString("Escape"));
inputMap.Add("Inv", GetKeyFromString("E"));
inputMap.Add("Waypoint", GetKeyFromString("P"));
inputMap.Add("ToggleMap", GetKeyFromString("M"));
inputMap.Add("SwitchView", GetKeyFromString("V"));
inputMap.Add("TakeScreenShot", GetKeyFromString("F2"));
inputMap.Add("Laser", GetKeyFromString("L"));
inputMap.Add("FlashLight", GetKeyFromString("F"));
inputMap.Add("Reload", GetKeyFromString("R"));
inputMap.Add("Console", GetKeyFromString("F12"));
inputMap.Add("SendCommand", GetKeyFromString("Return"));
inputMap.Add("Unlock", GetKeyFromString("U"));
}
private static KeyCode GetKeyFromString(string KeyStr, bool IgnoreCase = true) {
return (KeyCode)System.Enum.Parse(typeof(KeyCode), KeyStr, IgnoreCase);
}
}
(I call LoadAllKeysFromConfig() from a Start() function from another script)
But when I want to request some control, NullReferenceException appears, why?
Thanks in advance.
Bye.