private bool Initialize() { Editor = BehaviourTreeEditor.GetInstance(); if (!Editor) { EditorGUILayout.HelpBox("Unable to get BehaviourTreeEditor instance!", MessageType.Error); return(false); } Parameters = Editor.GetCurrentAsset().Parameters; if (!Editor.CanEditNode(Node)) { EditorGUILayout.HelpBox("Unable to edit this node!", MessageType.Error); return(false); } return(true); }
private bool Initialize(ref Rect position, SerializedProperty property, GUIContent label) { position.height = base.GetPropertyHeight(property, label); Editor = BehaviourTreeEditor.GetInstance(); if (!Editor) { EditorGUI.HelpBox(position, "Unable to get BehaviourTreeEditor instance!", MessageType.Error); return(false); } Parameters = Editor.GetCurrentAsset().Parameters.Where(p => p.HoldType.Type == fieldInfo.FieldType).ToList(); AsNode = (BehaviourTreeNode)property.serializedObject.targetObject; Typename = GenericParameter.GetDisplayedName(fieldInfo.FieldType); if (Typename == null) { EditorGUI.HelpBox(position, string.Format("Type {0} is not a known type!", fieldInfo.FieldType), MessageType.Error); return(false); } if (!Editor.CanEditNode(AsNode)) { EditorGUI.HelpBox(position, "Unable to edit this node!", MessageType.Error); return(false); } if (!(attribute is Blackboard.Required)) { EditorGUI.HelpBox(position, "Unable to get Required attribute!", MessageType.Error); return(false); } SetContentForParameters(); return(true); }