Esempio n. 1
0
            public bool IsOverrideableWithDependencies(SerializedFrameSettings serialized, FrameSettings defaultFrameSettings)
            {
                FrameSettingsFieldAttribute attribute = attributes[field];
                bool locallyOverrideable = overrideable == null || overrideable();

                FrameSettingsField[] dependencies = attribute.dependencies;
                if (dependencies == null || !locallyOverrideable)
                {
                    return(locallyOverrideable);
                }

                bool dependenciesOverrideable = true;

                for (int index = dependencies.Length - 1; index >= 0 && dependenciesOverrideable; --index)
                {
                    FrameSettingsField depency = dependencies[index];
                    dependenciesOverrideable &= EvaluateBoolWithOverride(depency, this, defaultFrameSettings, serialized, attribute.IsNegativeDependency(depency));
                }
                return(dependenciesOverrideable);
            }