private void GenerateBlackBoard() { var blackBoard = new Blackboard(graphView); blackBoard.Add(new BlackboardSection { title = "Exposed Properties" }); blackBoard.addItemRequested = _blackboard => { graphView.AddPropertyToBlackboard(new ExposedProperty()); }; blackBoard.editTextRequested = (blackboard, element, newValue) => { var oldPropertyName = ((BlackboardField)element).text; if (graphView.exposedProperties.Any(x => x.propertyName == newValue)) { EditorUtility.DisplayDialog("Error", "This property name already exists, plaese chose another one!", "OK"); return; } var propertyIndex = graphView.exposedProperties.FindIndex(x => x.propertyName == oldPropertyName); graphView.exposedProperties[propertyIndex].propertyName = newValue; ((BlackboardField)element).text = newValue; }; graphView.blackboard = blackBoard; blackBoard.SetPosition(new Rect(10, 30, 200, 300)); graphView.Add(blackBoard); }
private void CreateExposedProperties() { targetGraphView.ClearBlackboardAndExposedProperties(); foreach (var exposedProperty in containerCache.exposedProperties) { targetGraphView.AddPropertyToBlackboard(exposedProperty); } }