public object Clone() { KBMInputMap newMap = new KBMInputMap(); newMap.AxisMappings = new Dictionary <string, AxisMapping>(AxisMappings); newMap.ButtonMappings = new Dictionary <string, ButtonMapping>(ButtonMappings); newMap.MouseScrollSensitivity = MouseScrollSensitivity; newMap.MouseXSensitivity = MouseXSensitivity; newMap.MouseYSensitivity = MouseYSensitivity; return(newMap); }
public void ReloadControlMap() { //load the control mappings into our local (fast) data structure from the storage (slow) data structure var inputMap = KBMInputMap.CreateOrGetFromConfig(); AxisMappings = inputMap.AxisMappings; ButtonMappings = inputMap.ButtonMappings; MouseXSensitivity = inputMap.MouseXSensitivity; MouseYSensitivity = inputMap.MouseYSensitivity; MouseScrollSensitivity = inputMap.MouseScrollSensitivity; UseVerboseWarnings = ConfigState.Instance.UseVerboseLogging; }
public static KBMInputMap CreateOrGetFromConfig() { //try to get it first if (ConfigState.Instance.CustomConfigVars.ContainsKey("ExplicitKBMInputMap") && ConfigState.Instance.CustomConfigVars["ExplicitKBMInputMap"] is KBMInputMap savedInputMap) { Debug.Log("[ExplicitKBMInput] Loaded saved input map!"); return(savedInputMap); } //create new KBMInputMap, loading default if available and skipping if not KBMInputMap inputMap; TextAsset res; if (CoreUtils.CheckResource <TextAsset>("Data/ExplicitKBMInput/DefaultControls")) { res = CoreUtils.LoadResource <TextAsset>("Data/ExplicitKBMInput/DefaultControls"); } else { res = CoreUtils.LoadResource <TextAsset>("Modules/ExplicitKBMInput/DefaultControls"); } if (res != null) { try { inputMap = CoreUtils.LoadJson <KBMInputMap>(res.text); Debug.Log("[ExplicitKBMInput] Loaded default input map!"); } catch (Exception e) { Debug.LogError("[ExplicitKBMInput] Failed to load default input map, inputs will start unmapped!"); Debug.LogException(e); inputMap = new KBMInputMap(); } } else { Debug.LogWarning("[ExplicitKBMInput] Couldn't find default input map, inputs will start unmapped!"); inputMap = new KBMInputMap(); } //save to config inputMap.SaveToConfig(); return(inputMap); }
private void LoadControlMap() { //load the control map from ConfigState into local state InputMap = (KBMInputMap)KBMInputMap.CreateOrGetFromConfig().Clone(); //I think that's it lol }