968 lines
23 KiB
C#
968 lines
23 KiB
C#
|
|
/***********************************************
|
||
|
|
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
|
||
|
|
|
||
|
|
|
||
|
|
}
|