void ReadInputBinding(InputAction action, XmlNode inputBindingNode) { InputBinding binding = action.CreateNewBinding(); foreach (XmlNode n in inputBindingNode.ChildNodes) { switch (n.LocalName) { case "Positive": binding.Positive = XMLTools.ReadAsEnum(n, KeyCode.None); break; case "Negative": binding.Negative = XMLTools.ReadAsEnum(n, KeyCode.None); break; case "DeadZone": binding.DeadZone = XMLTools.ReadAsFloat(n); break; case "Gravity": binding.Gravity = XMLTools.ReadAsFloat(n, 1.0f); break; case "Sensitivity": binding.Sensitivity = XMLTools.ReadAsFloat(n, 1.0f); break; case "Snap": binding.SnapWhenReadAsAxis = XMLTools.ReadAsBool(n); break; case "Invert": binding.InvertWhenReadAsAxis = XMLTools.ReadAsBool(n); break; case "UseNeg": binding.useNegativeAxisForButton = XMLTools.ReadAsBool(n); break; case "Rebindable": binding.rebindable = XMLTools.ReadAsBool(n); break; case "SensitivityEditable": binding.sensitivityEditable = XMLTools.ReadAsBool(n); break; case "InvertEditable": binding.invertEditable = XMLTools.ReadAsBool(n); break; case "Type": binding.Type = XMLTools.ReadAsEnum(n, InputType.KeyButton); break; case "Axis": binding.MouseAxis = XMLTools.ReadAsInt(n); break; case "GamepadButton": binding.GamepadButton = XMLTools.ReadAsEnum(n, GamepadButton.None); break; case "GamepadAxis": binding.GamepadAxis = XMLTools.ReadAsEnum(n, GamepadAxis.None); break; case "UpdateAsAxis": binding.updateAsAxis = XMLTools.ReadAsBool(n); break; case "UpdateAsButton": binding.updateAsButton = XMLTools.ReadAsBool(n); break; } } }