protected override void Init() { _valueNode = (ValueNode)target; _valueOutPut = _valueNode.GetOutputPort(ValueNode.ValueOutPutPortName); if (_valueOutPut != null) { if (_valueOutPut.ValueType == null) { _valueOutPut.ValueType = _valueNode.ValueType; } } windowContent = new TypeSelectPopupWindow(true); windowContent.OnChangeTypeSelect = type => { _valueOutPut.ValueType = type; windowContent.editorWindow.Close(); serializedObject.ApplyModifiedProperties(); serializedObject.UpdateIfRequiredOrScript(); }; }
protected override void OnInit() { _valueNode = (SystemObjectConditionNode)target; if (windowContent == null) { List <Type> types = new List <Type>(); foreach (var unityRuntimeType in TypeUtil.UnityRuntimeTypes) { if (typeof(ValueNode).IsAssignableFrom(unityRuntimeType)) { var valueField = unityRuntimeType.GetField("_value", BindingFlags.Instance | BindingFlags.NonPublic); if (valueField != null) { types.Add(valueField.FieldType); } } } windowContent = new TypeSelectPopupWindow(true, types); } _refreshInputPort(); windowContent.OnChangeTypeSelect = type => { _aInput.ValueType = type; _bInput.ValueType = type; windowContent.editorWindow.Close(); serializedObject.ApplyModifiedProperties(); serializedObject.UpdateIfRequiredOrScript(); }; }