mergemilitary/Assets/ThirdPlugins/EasyTouchBundle/EasyTouchControls/Plugins/ETCInput.cs

968 lines
23 KiB
C#
Raw Normal View History

2022-05-23 13:39:59 +00:00
/***********************************************
EasyTouch Controls
Copyright © 2016 The Hedgehog Team
http://www.thehedgehogteam.com/Forum/
The.Hedgehog.Team@gmail.com
**********************************************/
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.Events;
using UnityEngine.EventSystems;
//ETCSingleton<ETCInput>
public class ETCInput : MonoBehaviour{
public static ETCInput _instance = null;
public static ETCInput instance{
get{
if( !_instance ){
// check if an ObjectPoolManager is already available in the scene graph
_instance = FindObjectOfType( typeof( ETCInput ) ) as ETCInput;
// nope, create a new one
if( !_instance ){
GameObject obj = new GameObject( "InputManager" );
_instance = obj.AddComponent<ETCInput>();
}
}
return _instance;
}
}
private Dictionary<string,ETCAxis> axes = new Dictionary<string,ETCAxis>();
private Dictionary<string, ETCBase> controls = new Dictionary<string, ETCBase>();
private static ETCBase control;
private static ETCAxis axis;
#region Control
public void RegisterControl(ETCBase ctrl){
if (controls.ContainsKey( ctrl.name)){
Debug.LogWarning("ETCInput control : " + ctrl.name + " already exists");
}
else{
controls.Add( ctrl.name, ctrl);
if (ctrl.GetType() == typeof(ETCJoystick) ){
RegisterAxis( (ctrl as ETCJoystick).axisX );
RegisterAxis( (ctrl as ETCJoystick).axisY );
}
else if (ctrl.GetType() == typeof(ETCTouchPad) ){
RegisterAxis( (ctrl as ETCTouchPad).axisX );
RegisterAxis( (ctrl as ETCTouchPad).axisY );
}
else if (ctrl.GetType() == typeof(ETCDPad) ){
RegisterAxis( (ctrl as ETCDPad).axisX );
RegisterAxis( (ctrl as ETCDPad).axisY );
}
else if (ctrl.GetType() == typeof(ETCButton)){
RegisterAxis( (ctrl as ETCButton).axis );
}
}
}
public void UnRegisterControl(ETCBase ctrl){
if (controls.ContainsKey( ctrl.name) && ctrl.enabled ){
controls.Remove( ctrl.name);
if (ctrl.GetType() == typeof(ETCJoystick) ){
UnRegisterAxis( (ctrl as ETCJoystick).axisX );
UnRegisterAxis( (ctrl as ETCJoystick).axisY );
}
else if (ctrl.GetType() == typeof(ETCTouchPad) ){
UnRegisterAxis( (ctrl as ETCTouchPad).axisX );
UnRegisterAxis( (ctrl as ETCTouchPad).axisY );
}
else if (ctrl.GetType() == typeof(ETCDPad) ){
UnRegisterAxis( (ctrl as ETCDPad).axisX );
UnRegisterAxis( (ctrl as ETCDPad).axisY );
}
else if (ctrl.GetType() == typeof(ETCButton)){
UnRegisterAxis( (ctrl as ETCButton).axis );
}
}
}
public void Create(){
}
public static void Register(ETCBase ctrl){
ETCInput.instance.RegisterControl( ctrl);
}
public static void UnRegister(ETCBase ctrl){
ETCInput.instance.UnRegisterControl( ctrl);
}
public static void SetControlVisible(string ctrlName,bool value){
if (ETCInput.instance.controls.TryGetValue( ctrlName, out control)){
control.visible = value;
}
else{
Debug.LogWarning("ETCInput : " + ctrlName + " doesn't exist");
}
}
public static bool GetControlVisible(string ctrlName){
if (ETCInput.instance.controls.TryGetValue( ctrlName, out control)){
return control.visible;
}
else{
Debug.LogWarning("ETCInput : " + ctrlName + " doesn't exist");
return false;
}
}
public static void SetControlActivated(string ctrlName,bool value){
if (ETCInput.instance.controls.TryGetValue( ctrlName, out control)){
control.activated = value;
}
else{
Debug.LogWarning("ETCInput : " + ctrlName + " doesn't exist");
}
}
public static bool GetControlActivated(string ctrlName){
if (ETCInput.instance.controls.TryGetValue( ctrlName, out control)){
return control.activated;
}
else{
Debug.LogWarning("ETCInput : " + ctrlName + " doesn't exist");
return false;
}
}
public static void SetControlSwipeIn(string ctrlName,bool value){
if (ETCInput.instance.controls.TryGetValue( ctrlName, out control)){
control.isSwipeIn = value;
}
else{
Debug.LogWarning("ETCInput : " + ctrlName + " doesn't exist");
}
}
public static bool GetControlSwipeIn(string ctrlName){
if (ETCInput.instance.controls.TryGetValue( ctrlName, out control)){
return control.isSwipeIn;
}
else{
Debug.LogWarning("ETCInput : " + ctrlName + " doesn't exist");
return false;
}
}
public static void SetControlSwipeOut(string ctrlName,bool value){
if (ETCInput.instance.controls.TryGetValue( ctrlName, out control)){
control.isSwipeOut = value;
}
else{
Debug.LogWarning("ETCInput : " + ctrlName + " doesn't exist");
}
}
public static bool GetControlSwipeOut(string ctrlName,bool value){
if (ETCInput.instance.controls.TryGetValue( ctrlName, out control)){
return control.isSwipeOut ;
}
else{
Debug.LogWarning("ETCInput : " + ctrlName + " doesn't exist");
return false;
}
}
public static void SetDPadAxesCount(string ctrlName, ETCBase.DPadAxis value){
if (ETCInput.instance.controls.TryGetValue( ctrlName, out control)){
control.dPadAxisCount = value;
}
else{
Debug.LogWarning("ETCInput : " + ctrlName + " doesn't exist");
}
}
public static ETCBase.DPadAxis GetDPadAxesCount(string ctrlName){
if (ETCInput.instance.controls.TryGetValue( ctrlName, out control)){
return control.dPadAxisCount;
}
else{
Debug.LogWarning("ETCInput : " + ctrlName + " doesn't exist");
return ETCBase.DPadAxis.Two_Axis;
}
}
#endregion
#region New 2.0
// Control
public static ETCJoystick GetControlJoystick(string ctrlName){
if (ETCInput.instance.controls.TryGetValue( ctrlName, out control)){
if (control.GetType() == typeof(ETCJoystick)){
ETCJoystick tmpJoy = (ETCJoystick)control;
return tmpJoy;
}
}
return null;
}
public static ETCDPad GetControlDPad(string ctrlName){
if (ETCInput.instance.controls.TryGetValue( ctrlName, out control)){
if (control.GetType() == typeof(ETCDPad)){
ETCDPad tmpctrl = (ETCDPad)control;
return tmpctrl;
}
}
return null;
}
public static ETCTouchPad GetControlTouchPad(string ctrlName){
if (ETCInput.instance.controls.TryGetValue( ctrlName, out control)){
if (control.GetType() == typeof(ETCTouchPad)){
ETCTouchPad tmpctrl = (ETCTouchPad)control;
return tmpctrl;
}
}
return null;
}
public static ETCButton GetControlButton(string ctrlName){
if (ETCInput.instance.controls.TryGetValue( ctrlName, out control)){
if (control.GetType() == typeof(ETCJoystick)){
ETCButton tmpctrl = (ETCButton)control;
return tmpctrl;
}
}
return null;
}
//Image
public static void SetControlSprite(string ctrlName,Sprite spr,Color color = default(Color)){
if (ETCInput.instance.controls.TryGetValue( ctrlName, out control)){
Image img = control.GetComponent<Image>();
if (img){
img.sprite = spr;
img.color = color;
}
}
}
public static void SetJoystickThumbSprite(string ctrlName,Sprite spr,Color color = default(Color)){
if (ETCInput.instance.controls.TryGetValue( ctrlName, out control)){
if (control.GetType() == typeof(ETCJoystick)){
ETCJoystick tmpJoy = (ETCJoystick)control;
if (tmpJoy){
Image img = tmpJoy.thumb.GetComponent<Image>();
if (img){
img.sprite = spr;
img.color = color;
}
}
}
}
}
public static void SetButtonPressedSprite(string ctrlName, Sprite spr,Color color = default(Color)){
}
// Axes
public static void SetAxisSpeed(string axisName, float speed){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
axis.speed = speed;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
}
}
public static void SetAxisGravity(string axisName, float gravity){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
axis.gravity = gravity;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
}
}
public static void SetTurnMoveSpeed(string ctrlName, float speed){
ETCJoystick joy = GetControlJoystick( ctrlName);
if (joy){
joy.tmSpeed = speed;
}
}
#endregion
#region Axes
public static void ResetAxis(string axisName ){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
axis.axisValue = 0;
axis.axisSpeedValue =0;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
}
}
public static void SetAxisEnabled(string axisName,bool value){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
axis.enable = value;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
}
}
public static bool GetAxisEnabled(string axisName){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
return axis.enable;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
return false;
}
}
public static void SetAxisInverted(string axisName, bool value){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
axis.invertedAxis = value;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
}
}
public static bool GetAxisInverted(string axisName){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
return axis.invertedAxis;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
return false;
}
}
public static void SetAxisDeadValue(string axisName, float value){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
axis.deadValue = value;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
}
}
public static float GetAxisDeadValue(string axisName){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
return axis.deadValue;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
return -1;
}
}
public static void SetAxisSensitivity(string axisName, float value){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
axis.speed = value;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
}
}
public static float GetAxisSensitivity(string axisName){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
return axis.speed;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
return -1;
}
}
public static void SetAxisThreshold(string axisName, float value){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
axis.axisThreshold = value;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
}
}
public static float GetAxisThreshold(string axisName){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
return axis.axisThreshold;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
return -1;
}
}
public static void SetAxisInertia(string axisName, bool value){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
axis.isEnertia = value;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
}
}
public static bool GetAxisInertia(string axisName){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
return axis.isEnertia;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
return false;
}
}
public static void SetAxisInertiaSpeed(string axisName, float value){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
axis.inertia = value;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
}
}
public static float GetAxisInertiaSpeed(string axisName){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
return axis.inertia;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
return -1;
}
}
public static void SetAxisInertiaThreshold( string axisName, float value){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
axis.inertiaThreshold = value;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
}
}
public static float GetAxisInertiaThreshold( string axisName){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
return axis.inertiaThreshold;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
return -1;
}
}
public static void SetAxisAutoStabilization( string axisName, bool value){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
axis.isAutoStab = value;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
}
}
public static bool GetAxisAutoStabilization(string axisName){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
return axis.isAutoStab;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
return false;
}
}
public static void SetAxisAutoStabilizationSpeed( string axisName, float value){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
axis.autoStabSpeed = value;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
}
}
public static float GetAxisAutoStabilizationSpeed(string axisName){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
return axis.autoStabSpeed;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
return -1;
}
}
public static void SetAxisAutoStabilizationThreshold( string axisName, float value){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
axis.autoStabThreshold = value;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
}
}
public static float GetAxisAutoStabilizationThreshold(string axisName){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
return axis.autoStabThreshold;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
return -1;
}
}
public static void SetAxisClampRotation(string axisName, bool value){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
axis.isClampRotation = value;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
}
}
public static bool GetAxisClampRotation(string axisName){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
return axis.isClampRotation;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
return false;
}
}
public static void SetAxisClampRotationValue(string axisName, float min, float max){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
axis.minAngle = min;
axis.maxAngle = max;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
}
}
public static void SetAxisClampRotationMinValue(string axisName, float value){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
axis.minAngle = value;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
}
}
public static void SetAxisClampRotationMaxValue(string axisName, float value){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
axis.maxAngle = value;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
}
}
public static float GetAxisClampRotationMinValue(string axisName){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
return axis.minAngle;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
return -1;
}
}
public static float GetAxisClampRotationMaxValue(string axisName){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
return axis.maxAngle;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
return -1;
}
}
public static void SetAxisDirecTransform(string axisName, Transform value){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
axis.directTransform = value;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
}
}
public static Transform GetAxisDirectTransform( string axisName){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
return axis.directTransform;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
return null;
}
}
public static void SetAxisDirectAction(string axisName, ETCAxis.DirectAction value){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
axis.directAction = value;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
}
}
public static ETCAxis.DirectAction GetAxisDirectAction(string axisName){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
return axis.directAction;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
return ETCAxis.DirectAction.Rotate;
}
}
public static void SetAxisAffectedAxis(string axisName, ETCAxis.AxisInfluenced value){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
axis.axisInfluenced = value;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
}
}
public static ETCAxis.AxisInfluenced GetAxisAffectedAxis(string axisName){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
return axis.axisInfluenced;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
return ETCAxis.AxisInfluenced.X;
}
}
public static void SetAxisOverTime(string axisName, bool value){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
axis.isValueOverTime = value;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
}
}
public static bool GetAxisOverTime(string axisName){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
return axis.isValueOverTime;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
return false;
}
}
public static void SetAxisOverTimeStep(string axisName, float value){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
axis.overTimeStep = value;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
}
}
public static float GetAxisOverTimeStep(string axisName){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
return axis.overTimeStep;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
return -1;
}
}
public static void SetAxisOverTimeMaxValue(string axisName, float value){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
axis.maxOverTimeValue = value;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
}
}
public static float GetAxisOverTimeMaxValue(string axisName){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
return axis.maxOverTimeValue;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
return -1;
}
}
public static float GetAxis(string axisName){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
return axis.axisValue;
}
else{
Debug.LogWarning("ETCInput : " + axisName + " doesn't exist");
return 0;
}
}
public static float GetAxisSpeed(string axisName){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
return axis.axisSpeedValue;
}
else{
Debug.LogWarning(axisName + " doesn't exist");
return 0;
}
}
public static bool GetAxisDownUp(string axisName){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
if (axis.axisState == ETCAxis.AxisState.DownUp){
return true;
}
else{
return false;
}
}
else{
Debug.LogWarning(axisName + " doesn't exist");
return false;
}
}
public static bool GetAxisDownDown(string axisName){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
if (axis.axisState == ETCAxis.AxisState.DownDown){
return true;
}
else{
return false;
}
}
else{
Debug.LogWarning(axisName + " doesn't exist");
return false;
}
}
public static bool GetAxisDownRight(string axisName){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
if (axis.axisState == ETCAxis.AxisState.DownRight){
return true;
}
else{
return false;
}
}
else{
Debug.LogWarning(axisName + " doesn't exist");
return false;
}
}
public static bool GetAxisDownLeft(string axisName){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
if (axis.axisState == ETCAxis.AxisState.DownLeft){
return true;
}
else{
return false;
}
}
else{
Debug.LogWarning(axisName + " doesn't exist");
return false;
}
}
public static bool GetAxisPressedUp(string axisName){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
if (axis.axisState == ETCAxis.AxisState.PressUp){
return true;
}
else{
return false;
}
}
else{
Debug.LogWarning(axisName + " doesn't exist");
return false;
}
}
public static bool GetAxisPressedDown(string axisName){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
if (axis.axisState == ETCAxis.AxisState.PressDown){
return true;
}
else{
return false;
}
}
else{
Debug.LogWarning(axisName + " doesn't exist");
return false;
}
}
public static bool GetAxisPressedRight(string axisName){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
if (axis.axisState == ETCAxis.AxisState.PressRight){
return true;
}
else{
return false;
}
}
else{
Debug.LogWarning(axisName + " doesn't exist");
return false;
}
}
public static bool GetAxisPressedLeft(string axisName){
if (ETCInput.instance.axes.TryGetValue( axisName, out axis)){
if (axis.axisState == ETCAxis.AxisState.PressLeft){
return true;
}
else{
return false;
}
}
else{
Debug.LogWarning(axisName + " doesn't exist");
return false;
}
}
public static bool GetButtonDown(string buttonName){
if (ETCInput.instance.axes.TryGetValue( buttonName, out axis)){
if (axis.axisState == ETCAxis.AxisState.Down ){
return true;
}
else{
return false;
}
}
else{
Debug.LogWarning(buttonName + " doesn't exist");
return false;
}
}
public static bool GetButton(string buttonName){
if (ETCInput.instance.axes.TryGetValue( buttonName, out axis)){
if (axis.axisState == ETCAxis.AxisState.Down || axis.axisState == ETCAxis.AxisState.Press){
return true;
}
else{
return false;
}
}
else{
Debug.LogWarning(buttonName + " doesn't exist");
return false;
}
}
public static bool GetButtonUp(string buttonName){
if (ETCInput.instance.axes.TryGetValue( buttonName, out axis)){
if (axis.axisState == ETCAxis.AxisState.Up ){
return true;
}
else{
return false;
}
}
else{
Debug.LogWarning(buttonName + " doesn't exist");
return false;
}
}
public static float GetButtonValue(string buttonName){
if (ETCInput.instance.axes.TryGetValue( buttonName, out axis)){
return axis.axisValue;
}
else{
Debug.LogWarning(buttonName + " doesn't exist");
return -1;
}
}
#endregion
#region private Method
private void RegisterAxis(ETCAxis axis){
if (ETCInput.instance.axes.ContainsKey( axis.name)){
Debug.LogWarning("ETCInput axis : " + axis.name + " already exists");
}
else{
axes.Add( axis.name,axis);
}
}
private void UnRegisterAxis(ETCAxis axis){
if (ETCInput.instance.axes.ContainsKey( axis.name)){
axes.Remove( axis.name);
}
}
#endregion
}