private void OnSettings(float width) { GUILayout.BeginHorizontal(); if (GUILayout.Button(sequence != null ? sequence.name : "[None Selected]", EditorStyles.toolbarDropDown, GUILayout.Width(width * 0.5f))) { GenericMenu toolsMenu = new GenericMenu(); if (tweener != null) { for (int i = 0; i < tweener.sequences.Count; i++) { int mIndex = i; toolsMenu.AddItem(new GUIContent(tweener.sequences[mIndex].name), false, delegate() { selectedSequenceIndex = mIndex; }); } } toolsMenu.AddItem(new GUIContent("[New Sequence]"), false, delegate() { AddTweener(Selection.activeGameObject); AddSequence(tweener); }); GUIUtility.keyboardControl = 0; toolsMenu.DropDown(new Rect(3, 37, 0, 0)); EditorGUIUtility.ExitGUI(); } if (sequence != null) { wrap = sequence.wrap; } wrap = (SequenceWrap)EditorGUILayout.EnumPopup(wrap, EditorStyles.toolbarDropDown, GUILayout.Width(width * 0.5f)); if (sequence != null) { sequence.wrap = wrap; } GUILayout.EndHorizontal(); //--> GUILayout.BeginVertical(); settingsScroll = GUILayout.BeginScrollView(settingsScroll); if (tweener != null) { DoSequence(); } GUILayout.EndScrollView(); GUILayout.FlexibleSpace(); bool enabled = GUI.enabled; GUI.enabled = sequence != null; if (GUILayout.Button("Add Tween")) { GenericMenu genericMenu = new GenericMenu(); Component[] components = selectedGameObject.GetComponents <Component>(); for (int i = 0; i < components.Length; i++) { PropertyInfo[] properties = components[i].GetType().GetProperties(); for (int j = 0; j < properties.Length; j++) { if (properties[j].CanWrite) { if (IsSupportedType(properties[j].PropertyType)) { genericMenu.AddItem(new GUIContent(components[i].GetType().Name + "/" + properties[j].Name), false, AddTween, new SequenceNode(components[i], properties[j].Name)); } } } FieldInfo[] fields = components[i].GetType().GetFields(); for (int j = 0; j < fields.Length; j++) { if (IsSupportedType(fields[j].FieldType)) { genericMenu.AddItem(new GUIContent(components[i].GetType().Name + "/" + fields[j].Name), false, AddTween, new SequenceNode(components[i], fields[j].Name)); } } } genericMenu.ShowAsContext(); } GUI.enabled = enabled; GUILayout.EndVertical(); }
private void OnSettings(float width){ GUILayout.BeginHorizontal (); if (GUILayout.Button (sequence != null ? sequence.name : "[None Selected]", EditorStyles.toolbarDropDown, GUILayout.Width (width * 0.5f))) { GenericMenu toolsMenu = new GenericMenu (); if(tweener != null){ for (int i=0;i<tweener.sequences.Count;i++) { int mIndex=i; toolsMenu.AddItem (new GUIContent (tweener.sequences[mIndex].name), false, delegate() { selectedSequenceIndex=mIndex; }); } } toolsMenu.AddItem (new GUIContent ("[New Sequence]"), false, delegate() { AddTweener(Selection.activeGameObject); AddSequence(tweener); }); GUIUtility.keyboardControl = 0; toolsMenu.DropDown (new Rect (3, 37, 0, 0)); EditorGUIUtility.ExitGUI (); } if (sequence != null) { wrap = sequence.wrap; } wrap = (SequenceWrap)EditorGUILayout.EnumPopup (wrap, EditorStyles.toolbarDropDown, GUILayout.Width (width * 0.5f)); if (sequence != null) { sequence.wrap = wrap; } GUILayout.EndHorizontal (); //--> GUILayout.BeginVertical (); settingsScroll = GUILayout.BeginScrollView (settingsScroll); if (tweener != null) { DoSequence (); } GUILayout.EndScrollView (); GUILayout.FlexibleSpace (); bool enabled = GUI.enabled; GUI.enabled = sequence != null; if (GUILayout.Button ("Add Tween")) { GenericMenu genericMenu = new GenericMenu (); Component[] components=selectedGameObject.GetComponents<Component>(); for(int i=0;i< components.Length;i++){ PropertyInfo[] properties=components[i].GetType().GetProperties(); for(int j=0;j<properties.Length;j++){ if(properties[j].CanWrite){ if(IsSupportedType(properties[j].PropertyType)){ genericMenu.AddItem(new GUIContent(components[i].GetType().Name+"/"+properties[j].Name),false,AddTween,new SequenceNode(components[i],properties[j].Name)); } } } FieldInfo[] fields=components[i].GetType().GetFields(); for(int j=0;j<fields.Length;j++){ if(IsSupportedType(fields[j].FieldType)){ genericMenu.AddItem(new GUIContent(components[i].GetType().Name+"/"+fields[j].Name),false,AddTween,new SequenceNode(components[i],fields[j].Name)); } } } genericMenu.ShowAsContext (); } GUI.enabled = enabled; GUILayout.EndVertical (); }