Esempio n. 1
0
        public BlackboardVariablePropertyView(Store store, IVariableDeclarationModel variableDeclarationModel,
                                              Blackboard.RebuildCallback rebuildCallback, Stencil stencil)
            : base(variableDeclarationModel, rebuildCallback)
        {
            m_Store   = store;
            m_Stencil = stencil;

            RegisterCallback <AttachToPanelEvent>(OnAttachToPanel);
            RegisterCallback <DetachFromPanelEvent>(OnDetachFromPanel);

            if (variableDeclarationModel.VariableType != VariableType.FunctionVariable &&
                variableDeclarationModel.VariableType != VariableType.GraphVariable)
            {
                return;
            }

            if (variableDeclarationModel.InitializationModel == null)
            {
                if (stencil.RequiresInitialization(variableDeclarationModel))
                {
                    m_InitializationElement = new Button(OnInitializationButton)
                    {
                        text = "Create Init value"
                    };
                    m_InitializationElement.AddToClassList("rowButton");
                }
            }
            else
            {
                m_InitializationElement = this.CreateEditorForNodeModel(variableDeclarationModel.InitializationModel, e =>
                {
                    m_Store.Dispatch(new RefreshUIAction(UpdateFlags.RequestCompilation));
                });

//                m_InitializationObject = new SerializedObject(variableDeclarationModel.InitializationModel.NodeAssetReference);
//                m_InitializationObject.Update();
//                m_InitializationElement = new IMGUIContainer(OnInitializationGUI);
            }
        }