示例#1
0
        void UpdateErrors()
        {
            isExtensionEmpty = extensionNameProp.stringValue == "";
            isExtensionValid = ExtensionTypeModule.IsValidExtension(extensionNameProp.stringValue);
            isExtensionInUse = targetExtensionModule.IsInUseExtension();

            AnimError_ExtensionEmpty.target = isExtensionEmpty || !isExtensionValid || isExtensionInUse;
        }
示例#2
0
        public override void OnEnable()
        {
            base.OnEnable();
            extensionNameProp = serializedObject.FindProperty("ExtensionName");

            AnimError_ExtensionEmpty = new AnimBool(false);
            AnimError_ExtensionEmpty.valueChanged.AddListener(Repaint);

            targetExtensionModule = (ExtensionTypeModule)target;

            UpdateErrors();
        }
示例#3
0
        /// <summary>
        /// Checks AssetIconTools.ExtensionDrawers for other ExtensionTypeModules and compares extension names.
        /// </summary>
        /// <returns><c>true</c> if this instance shares extension names with another; otherwise, <c>false</c>.</returns>
        public bool IsInUseExtension()
        {
            bool hasFoundSelf = false;

            List <ExtensionTypeModule> matches = new List <ExtensionTypeModule> ();

            for (int i = 0; i < ModuleManifest.ExtensionDrawers.Count; i++)
            {
                if (!Active)
                {
                    return(false);
                }

                ExtensionTypeModule module = (ExtensionTypeModule)ModuleManifest.ExtensionDrawers [i];

                if (module == this)
                {
                    hasFoundSelf = true;
                    continue;
                }

                if (module != null)
                {
                    if (!module.Active)
                    {
                        continue;
                    }

                    if (module.ExtensionName == ExtensionName)
                    {
                        matches.Add(module);
                    }
                }
            }

            if (!hasFoundSelf)
            {
                ModuleManifest.ExtensionDrawers.Add(this);
            }

            if (matches.Count != 0)
            {
                return(true);
            }

            return(false);
        }