private bool Init(UnityEngine.Object obj, EditorFeatures requirements) { this.editor = Editor.CreateEditor(obj); if (this.editor == null) { return(false); } if (((requirements & EditorFeatures.PreviewGUI) > EditorFeatures.None) && !this.editor.HasPreviewGUI()) { return(false); } MethodInfo method = this.editor.GetType().GetMethod("OnSceneDrag", BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance); if (method != null) { this.OnSceneDrag = (VoidDelegate)Delegate.CreateDelegate(typeof(VoidDelegate), this.editor, method); } else { if ((requirements & EditorFeatures.OnSceneDrag) > EditorFeatures.None) { return(false); } this.OnSceneDrag = new VoidDelegate(this.DefaultOnSceneDrag); } return(true); }
private bool Init(UnityEngine.Object obj, EditorFeatures requirements) { this.editor = Editor.CreateEditor(obj); if (this.editor == null) { return false; } if ((requirements & EditorFeatures.PreviewGUI) > EditorFeatures.None && !this.editor.HasPreviewGUI()) { return false; } Type type = this.editor.GetType(); MethodInfo method = type.GetMethod("OnSceneDrag", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); if (method != null) { this.OnSceneDrag = (EditorWrapper.VoidDelegate)Delegate.CreateDelegate(typeof(EditorWrapper.VoidDelegate), this.editor, method); } else { if ((requirements & EditorFeatures.OnSceneDrag) > EditorFeatures.None) { return false; } this.OnSceneDrag = new EditorWrapper.VoidDelegate(this.DefaultOnSceneDrag); } return true; }
private bool Init(Object obj, EditorFeatures requirements) { MethodInfo onSceneDragMi; editor = Editor.CreateEditor(obj); if (editor == null) { return(false); } if ((int)(requirements & EditorFeatures.PreviewGUI) > 0 && !editor.HasPreviewGUI()) { return(false); } System.Type t = editor.GetType(); onSceneDragMi = t.GetMethod("OnSceneDrag", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); if (onSceneDragMi != null) { OnSceneDrag = (VoidDelegate)System.Delegate.CreateDelegate(typeof(VoidDelegate), editor, onSceneDragMi); } else if ((int)(requirements & EditorFeatures.OnSceneDrag) > 0) { return(false); } else { OnSceneDrag = DefaultOnSceneDrag; } return(true); }
private bool Init(UnityEngine.Object obj, EditorFeatures requirements) { this.editor = Editor.CreateEditor(obj); bool result; if (this.editor == null) { result = false; } else if ((requirements & EditorFeatures.PreviewGUI) > EditorFeatures.None && !this.editor.HasPreviewGUI()) { result = false; } else { Type type = this.editor.GetType(); MethodInfo method = type.GetMethod("OnSceneDrag", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); if (method != null) { this.OnSceneDrag = (EditorWrapper.VoidDelegate)Delegate.CreateDelegate(typeof(EditorWrapper.VoidDelegate), this.editor, method); } else { if ((requirements & EditorFeatures.OnSceneDrag) > EditorFeatures.None) { result = false; return(result); } this.OnSceneDrag = new EditorWrapper.VoidDelegate(this.DefaultOnSceneDrag); } result = true; } return(result); }
public static EditorWrapper Make(UnityEngine.Object obj, EditorFeatures requirements) { EditorWrapper editorWrapper = new EditorWrapper(); if (editorWrapper.Init(obj, requirements)) return editorWrapper; editorWrapper.Dispose(); return (EditorWrapper) null; }
public static EditorWrapper Make(UnityEngine.Object obj, EditorFeatures requirements) { EditorWrapper wrapper = new EditorWrapper(); if (wrapper.Init(obj, requirements)) { return wrapper; } wrapper.Dispose(); return null; }
public static EditorWrapper Make(UnityEngine.Object obj, EditorFeatures requirements) { EditorWrapper wrapper = new EditorWrapper(); if (wrapper.Init(obj, requirements)) { return(wrapper); } wrapper.Dispose(); return(null); }
static public EditorWrapper Make(Object obj, EditorFeatures requirements) { EditorWrapper cp = new EditorWrapper(); if (cp.Init(obj, requirements)) { return(cp); } else { cp.Dispose(); return(null); } }
public static EditorWrapper Make(UnityEngine.Object obj, EditorFeatures requirements) { EditorWrapper editorWrapper = new EditorWrapper(); EditorWrapper result; if (editorWrapper.Init(obj, requirements)) { result = editorWrapper; } else { editorWrapper.Dispose(); result = null; } return(result); }
private bool Init(Object obj, EditorFeatures requirements) { editor = Editor.CreateEditor(obj); if (editor == null) { return(false); } if (requirements.HasFlag(EditorFeatures.PreviewGUI) && !editor.HasPreviewGUI()) { return(false); } var onSceneDragMi = editor.GetType().GetMethod("OnSceneDrag", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); var objs = new[] { obj }; var rootEditorType = RootEditorUtils.FindRootEditor(objs); if (rootEditorType != null && onSceneDragMi == null) { // Create normal editor: editor = RootEditorUtils.CreateNonRootEditor(objs); onSceneDragMi = editor.GetType().GetMethod("OnSceneDrag", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); } if (onSceneDragMi != null) { OnSceneDrag = (VoidDelegate)System.Delegate.CreateDelegate(typeof(VoidDelegate), editor, onSceneDragMi); } else if (requirements.HasFlag(EditorFeatures.OnSceneDrag)) { return(false); } else { OnSceneDrag = DefaultOnSceneDrag; } return(true); }
public EditorCache(EditorFeatures requirements) { this.m_Requirements = requirements; this.m_EditorCache = new Dictionary <UnityEngine.Object, EditorWrapper>(); this.m_UsedEditors = new Dictionary <UnityEngine.Object, bool>(); }
public EditorCache(EditorFeatures requirements) { this.m_Requirements = requirements; this.m_EditorCache = new Dictionary<UnityEngine.Object, EditorWrapper>(); this.m_UsedEditors = new Dictionary<UnityEngine.Object, bool>(); }
public EditorCache(EditorFeatures requirements) { m_Requirements = requirements; m_EditorCache = new Dictionary <Object, EditorWrapper>(); m_UsedEditors = new Dictionary <Object, bool>(); }