void UpdateErrors() { isExtensionEmpty = extensionNameProp.stringValue == ""; isExtensionValid = ExtensionTypeModule.IsValidExtension(extensionNameProp.stringValue); isExtensionInUse = targetExtensionModule.IsInUseExtension(); AnimError_ExtensionEmpty.target = isExtensionEmpty || !isExtensionValid || isExtensionInUse; }
public override void OnEnable() { base.OnEnable(); extensionNameProp = serializedObject.FindProperty("ExtensionName"); AnimError_ExtensionEmpty = new AnimBool(false); AnimError_ExtensionEmpty.valueChanged.AddListener(Repaint); targetExtensionModule = (ExtensionTypeModule)target; UpdateErrors(); }
/// <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); }