Exemple #1
0
        // Called by GraphDataStore.Subscribe after the model has been changed
        protected override void ModelChanged(GraphData graphData, IGraphDataAction changeAction)
        {
            switch (changeAction)
            {
            case ChangeExposedFlagAction changeExposedFlagAction:
                ViewModel.isInputExposed = Model.generatePropertyBlock;
                DirtyNodes(ModificationScope.Graph);
                m_SgBlackboardField.UpdateFromViewModel();
                break;

            case ChangePropertyValueAction changePropertyValueAction:
                DirtyNodes(ModificationScope.Graph);
                m_SgBlackboardField.MarkDirtyRepaint();
                break;

            case ResetReferenceNameAction resetReferenceNameAction:
                DirtyNodes(ModificationScope.Graph);
                break;

            case ChangeReferenceNameAction changeReferenceNameAction:
                DirtyNodes(ModificationScope.Graph);
                break;

            case ChangeDisplayNameAction changeDisplayNameAction:
                ViewModel.inputName = Model.displayName;
                DirtyNodes(ModificationScope.Topological);
                m_SgBlackboardField.UpdateFromViewModel();
                break;
            }
        }
Exemple #2
0
        // Called by GraphDataStore.Subscribe after the model has been changed
        protected override void ModelChanged(GraphData graphData, IGraphDataAction changeAction)
        {
            switch (changeAction)
            {
            case ChangeExposedFlagAction changeExposedFlagAction:
                // ModelChanged is called overzealously on everything
                // but we only care if the action pertains to our Model
                if (changeExposedFlagAction.shaderInputReference == Model)
                {
                    ViewModel.isInputExposed = Model.generatePropertyBlock;
                    if (changeExposedFlagAction.oldIsExposedValue != changeExposedFlagAction.newIsExposedValue)
                    {
                        DirtyNodes(ModificationScope.Graph);
                    }
                    m_SgBlackboardField.UpdateFromViewModel();
                }
                break;

            case ChangePropertyValueAction changePropertyValueAction:
                if (changePropertyValueAction.shaderInputReference == Model)
                {
                    DirtyNodes(ModificationScope.Graph);
                    m_SgBlackboardField.MarkDirtyRepaint();
                }
                break;

            case ResetReferenceNameAction resetReferenceNameAction:
                if (resetReferenceNameAction.shaderInputReference == Model)
                {
                    DirtyNodes(ModificationScope.Graph);
                }
                break;

            case ChangeReferenceNameAction changeReferenceNameAction:
                if (changeReferenceNameAction.shaderInputReference == Model)
                {
                    DirtyNodes(ModificationScope.Graph);
                }
                break;

            case ChangeDisplayNameAction changeDisplayNameAction:
                if (changeDisplayNameAction.shaderInputReference == Model)
                {
                    ViewModel.inputName = Model.displayName;
                    DirtyNodes(ModificationScope.Topological);
                    m_SgBlackboardField.UpdateFromViewModel();
                }
                break;
            }
        }