238 lines
		
	
	
		
			7.4 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			238 lines
		
	
	
		
			7.4 KiB
		
	
	
	
		
			C#
		
	
	
	
| using UnityEngine;
 | |
| using System.Collections;
 | |
| using UnityEditor;
 | |
| using HedgehogTeam.EasyTouch;
 | |
| #if UNITY_5_3
 | |
| using UnityEditor.SceneManagement;
 | |
| #endif
 | |
| 
 | |
| [CustomEditor(typeof(EasyTouch))]
 | |
| public class EasyTouchInspector : Editor {
 | |
| 
 | |
| 	
 | |
| 	public override void OnInspectorGUI(){
 | |
| 			
 | |
| 		EasyTouch t = (EasyTouch)target;
 | |
| 
 | |
| 		#region General properties
 | |
| 		EditorGUILayout.Space();
 | |
| 		t.enable = HTGuiTools.Toggle("Enable EasyTouch", t.enable,true);
 | |
| 
 | |
| 		t.enableRemote = HTGuiTools.Toggle("Enable Unity Remote", t.enableRemote,true);
 | |
| 
 | |
| 
 | |
| 		EditorGUILayout.Space();
 | |
| 
 | |
| 		#endregion
 | |
| 
 | |
| 		#region Gui propertie
 | |
| 		t.showGuiInspector = HTGuiTools.BeginFoldOut( "GUI compatibilty",t.showGuiInspector);
 | |
| 		if (t.showGuiInspector){
 | |
| 			HTGuiTools.BeginGroup();{
 | |
| 				// UGUI
 | |
| 	
 | |
| 				EditorGUILayout.Space();
 | |
| 				t.allowUIDetection = HTGuiTools.Toggle("Enable Unity UI detection",t.allowUIDetection,true);
 | |
| 				if (t.allowUIDetection ){
 | |
| 					EditorGUI.indentLevel++;
 | |
| 					t.enableUIMode = HTGuiTools.Toggle("Unity UI compatibilty", t.enableUIMode,true);
 | |
| 					t.autoUpdatePickedUI = HTGuiTools.Toggle("Auto update picked Unity UI", t.autoUpdatePickedUI,true);
 | |
| 					EditorGUI.indentLevel--;
 | |
| 				}
 | |
| 
 | |
| 				EditorGUILayout.Space();
 | |
| 
 | |
| 				// NGUI
 | |
| 				t.enabledNGuiMode = HTGuiTools.Toggle("Enable NGUI compatibilty", t.enabledNGuiMode,true);
 | |
| 
 | |
| 				if (t.enabledNGuiMode){
 | |
| 
 | |
| 					//EditorGUI.indentLevel++;
 | |
| 					HTGuiTools.BeginGroup(5);
 | |
| 					{
 | |
| 					// layers
 | |
| 					serializedObject.Update();
 | |
| 					SerializedProperty layers = serializedObject.FindProperty("nGUILayers");
 | |
| 					EditorGUILayout.PropertyField( layers,false);
 | |
| 					serializedObject.ApplyModifiedProperties();
 | |
| 	
 | |
| 					// Camera
 | |
| 
 | |
| 						if (HTGuiTools.Button("Add camera",Color.green,100, false)){
 | |
| 							t.nGUICameras.Add( null);
 | |
| 						}
 | |
| 
 | |
| 						for (int i=0;i< t.nGUICameras.Count;i++){
 | |
| 							EditorGUILayout.BeginHorizontal();
 | |
| 							if (HTGuiTools.Button("X",Color.red,19)){	
 | |
| 								t.nGUICameras.RemoveAt(i);
 | |
| 								i--;
 | |
| 							}
 | |
| 							else{
 | |
| 								t.nGUICameras[i] = (Camera)EditorGUILayout.ObjectField("",t.nGUICameras[i],typeof(Camera),true);
 | |
| 								EditorGUILayout.EndHorizontal();
 | |
| 							}
 | |
| 						}	
 | |
| 					}HTGuiTools.EndGroup();
 | |
| 					//EditorGUI.indentLevel--;
 | |
| 				}
 | |
| 				
 | |
| 			}HTGuiTools.EndGroup();
 | |
| 		}
 | |
| 		
 | |
| 
 | |
| 		#endregion
 | |
| 
 | |
| 		#region Auto selection properties
 | |
| 		t.showSelectInspector = HTGuiTools.BeginFoldOut( "Automatic selection",t.showSelectInspector);
 | |
| 		if (t.showSelectInspector){
 | |
| 			HTGuiTools.BeginGroup();{
 | |
| 				t.autoSelect = HTGuiTools.Toggle("Enable auto-select",t.autoSelect,true);
 | |
| 				if (t.autoSelect){
 | |
| 
 | |
| 					EditorGUILayout.Space();
 | |
| 
 | |
| 					// 3d layer
 | |
| 					serializedObject.Update();
 | |
| 					SerializedProperty layers = serializedObject.FindProperty("pickableLayers3D");
 | |
| 					EditorGUILayout.PropertyField( layers,true);
 | |
| 					serializedObject.ApplyModifiedProperties();
 | |
| 
 | |
| 
 | |
| 					t.autoUpdatePickedObject = HTGuiTools.Toggle( "Auto update picked gameobject",t.autoUpdatePickedObject,true);
 | |
| 					EditorGUILayout.Space();
 | |
| 
 | |
| 					//2D
 | |
| 					t.enable2D = HTGuiTools.Toggle("Enable 2D collider",t.enable2D,true);
 | |
| 					if (t.enable2D){
 | |
| 						serializedObject.Update();
 | |
| 						layers = serializedObject.FindProperty("pickableLayers2D");
 | |
| 						EditorGUILayout.PropertyField( layers,true);
 | |
| 						serializedObject.ApplyModifiedProperties();
 | |
| 					}
 | |
| 
 | |
| 
 | |
| 					// Camera
 | |
| 					GUILayout.Space(5f);
 | |
| 					HTGuiTools.BeginGroup(5);
 | |
| 					{
 | |
| 						if (HTGuiTools.Button( "Add Camera",Color.green,100)){
 | |
| 							t.touchCameras.Add(new ECamera(null,false));
 | |
| 						}
 | |
| 						for (int i=0;i< t.touchCameras.Count;i++){
 | |
| 							EditorGUILayout.BeginHorizontal();
 | |
| 							if (HTGuiTools.Button("X",Color.red,19)){	
 | |
| 								t.touchCameras.RemoveAt(i);
 | |
| 								i--;
 | |
| 							}
 | |
| 							if (i>=0){						
 | |
| 								t.touchCameras[i].camera = (Camera)EditorGUILayout.ObjectField("",t.touchCameras[i].camera,typeof(Camera),true,GUILayout.MinWidth(150));
 | |
| 								t.touchCameras[i].guiCamera = EditorGUILayout.ToggleLeft("Gui",t.touchCameras[i].guiCamera,GUILayout.Width(50));
 | |
| 								EditorGUILayout.EndHorizontal();
 | |
| 							}
 | |
| 						}
 | |
| 					}HTGuiTools.EndGroup();
 | |
| 				}
 | |
| 			}HTGuiTools.EndGroup();
 | |
| 		}
 | |
| 
 | |
| 		#endregion
 | |
| 
 | |
| 		#region General gesture properties
 | |
| 		t.showGestureInspector = HTGuiTools.BeginFoldOut("General gesture properties",t.showGestureInspector);
 | |
| 		if (t.showGestureInspector){
 | |
| 			HTGuiTools.BeginGroup();{
 | |
| 				t.gesturePriority =(EasyTouch.GesturePriority) EditorGUILayout.EnumPopup("Priority to",t.gesturePriority );
 | |
| 				t.StationaryTolerance = EditorGUILayout.FloatField("Stationary tolerance",t.StationaryTolerance);
 | |
| 				t.longTapTime = EditorGUILayout.FloatField("Long tap time",t.longTapTime);
 | |
| 
 | |
| 				EditorGUILayout.Space ();
 | |
| 
 | |
| 				t.doubleTapDetection = (EasyTouch.DoubleTapDetection) EditorGUILayout.EnumPopup("Double tap detection",t.doubleTapDetection);
 | |
| 				if (t.doubleTapDetection == EasyTouch.DoubleTapDetection.ByTime){
 | |
| 					t.doubleTapTime = EditorGUILayout.Slider("Double tap time",t.doubleTapTime,0.15f,0.4f);
 | |
| 				}
 | |
| 
 | |
| 				EditorGUILayout.Space ();
 | |
| 
 | |
| 				t.swipeTolerance = EditorGUILayout.FloatField("Swipe tolerance",t.swipeTolerance);
 | |
| 				t.alwaysSendSwipe = EditorGUILayout.Toggle("always sent swipe event",t.alwaysSendSwipe);
 | |
| 
 | |
| 			}HTGuiTools.EndGroup();
 | |
| 		}
 | |
| 
 | |
| 		#endregion
 | |
| 
 | |
| 		#region 2 fingers gesture
 | |
| 		t.showTwoFingerInspector =  HTGuiTools.BeginFoldOut("Two fingers gesture properties",t.showTwoFingerInspector);
 | |
| 		if (t.showTwoFingerInspector){
 | |
| 			HTGuiTools.BeginGroup();{
 | |
| 				t.enable2FingersGesture = HTGuiTools.Toggle("2 fingers gesture",t.enable2FingersGesture,true);
 | |
| 
 | |
| 				if (t.enable2FingersGesture){
 | |
| 					EditorGUI.indentLevel++;
 | |
| 
 | |
| 					t.twoFingerPickMethod = (EasyTouch.TwoFingerPickMethod)EditorGUILayout.EnumPopup("Pick method",t.twoFingerPickMethod);
 | |
| 
 | |
| 					EditorGUILayout.Separator();
 | |
| 
 | |
| 					t.enable2FingersSwipe = HTGuiTools.Toggle("Enable swipe & drag",t.enable2FingersSwipe,true);
 | |
| 
 | |
| 					EditorGUILayout.Separator();
 | |
| 
 | |
| 					t.enablePinch = HTGuiTools.Toggle("Enable Pinch",t.enablePinch,true);
 | |
| 					if (t.enablePinch){
 | |
| 						t.minPinchLength = EditorGUILayout.FloatField("Min pinch length",t.minPinchLength);
 | |
| 					}
 | |
| 
 | |
| 					EditorGUILayout.Separator();
 | |
| 
 | |
| 					t.enableTwist = HTGuiTools.Toggle("Enable twist",t.enableTwist,true);
 | |
| 					if (t.enableTwist){
 | |
| 						t.minTwistAngle = EditorGUILayout.FloatField("Min twist angle",t.minTwistAngle);
 | |
| 					}
 | |
| 					
 | |
| 					EditorGUI.indentLevel--;
 | |
| 				}
 | |
| 			}HTGuiTools.EndGroup();
 | |
| 		}
 | |
| 	
 | |
| 		#endregion
 | |
| 
 | |
| 		#region Second Finger simulation
 | |
| 		t.showSecondFingerInspector = HTGuiTools.BeginFoldOut("Second finger simulation", t.showSecondFingerInspector);
 | |
| 		if (t.showSecondFingerInspector){
 | |
| 			HTGuiTools.BeginGroup();{
 | |
| 				t.enableSimulation = HTGuiTools.Toggle("Enable simulation",t.enableSimulation,true );
 | |
| 
 | |
| 				EditorGUILayout.Space();
 | |
| 
 | |
| 				if (t.enableSimulation){
 | |
| 					EditorGUI.indentLevel++;
 | |
| 
 | |
| 					if (t.secondFingerTexture==null){
 | |
| 						t.secondFingerTexture =Resources.Load("secondFinger") as Texture;
 | |
| 					}
 | |
| 					
 | |
| 					t.secondFingerTexture = (Texture)EditorGUILayout.ObjectField("Texture",t.secondFingerTexture,typeof(Texture),true);
 | |
| 					EditorGUILayout.HelpBox("Change the keys settings for a fash compilation, or if you want to change the keys",MessageType.Info);
 | |
| 					t.twistKey = (KeyCode)EditorGUILayout.EnumPopup( "Twist & pinch key", t.twistKey);	
 | |
| 					t.swipeKey = (KeyCode)EditorGUILayout.EnumPopup( "Swipe key", t.swipeKey);
 | |
| 
 | |
| 					EditorGUI.indentLevel--;
 | |
| 				}
 | |
| 			}HTGuiTools.EndGroup();
 | |
| 		}
 | |
| 
 | |
| 		#endregion
 | |
| 
 | |
| 		if (GUI.changed){
 | |
| 			EditorUtility.SetDirty(target);
 | |
| 			#if UNITY_5_3
 | |
| 			EditorSceneManager.MarkSceneDirty( EditorSceneManager.GetActiveScene());
 | |
| 			#endif
 | |
| 		}
 | |
| 	}
 | |
| }
 | |
| 
 |