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 | ||
|  | 		} | ||
|  | 	} | ||
|  | } | ||
|  | 
 |