*
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
class InputEditor : EditorWindow {
|
||||
[MenuItem ("L/InputEditor")]
|
||||
static void ShowWindow () {
|
||||
EditorWindow.GetWindow (typeof(InputEditor));
|
||||
}
|
||||
|
||||
public enum AxisType{
|
||||
KeyOrMouseButton = 0,
|
||||
MouseMovement = 1,
|
||||
JoystickAxis = 2
|
||||
}
|
||||
private bool _renameAxis;
|
||||
|
||||
void OnGUI () {
|
||||
|
||||
_renameAxis = GUILayout.Toggle (_renameAxis, "Rename axis");
|
||||
|
||||
if (GUILayout.Button ("Reset input axes")) {
|
||||
var serializedObject = new SerializedObject(AssetDatabase.LoadAllAssetsAtPath("ProjectSettings/InputManager.asset")[0]);
|
||||
|
||||
int axisId = 0;
|
||||
while(true){
|
||||
var axesProperty = serializedObject.FindProperty("m_Axes");
|
||||
axesProperty.Next(true);
|
||||
axesProperty.Next(true);
|
||||
axesProperty.Next(true);
|
||||
|
||||
bool fail = false;
|
||||
for(int i = 0; i < axisId; ++i){
|
||||
if(!axesProperty.Next(false)){
|
||||
fail = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(fail){
|
||||
break;
|
||||
}
|
||||
|
||||
int propId = 0;
|
||||
//go deeper - into axis properties
|
||||
axesProperty.Next(true);
|
||||
do{
|
||||
switch(propId){
|
||||
case 0:
|
||||
if(_renameAxis){
|
||||
axesProperty.stringValue = "Axis" + axisId;
|
||||
}
|
||||
|
||||
break;
|
||||
case 9: //sensitivity
|
||||
axesProperty.floatValue = 1.0f;
|
||||
break;
|
||||
case 10: //snap
|
||||
case 11: //invert
|
||||
break;
|
||||
case 12: //type
|
||||
axesProperty.enumValueIndex = (int)AxisType.JoystickAxis;
|
||||
break;
|
||||
case 13: //axis
|
||||
axesProperty.intValue = axisId;
|
||||
break;
|
||||
}
|
||||
|
||||
propId++;
|
||||
}while(axesProperty.Next(false) && propId < 15);
|
||||
axisId++;
|
||||
}
|
||||
serializedObject.ApplyModifiedProperties();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user