コード例 #1
0
        public static Pair <ITypeElement, ITypeMember>?PropertyFromColorElement(ITypeElement qualifierType, IColorElement colorElement, IPsiModule module)
        {
            var colorName = UnityNamedColors.GetColorName(colorElement.RGBColor);

            if (string.IsNullOrEmpty(colorName))
            {
                return(null);
            }

            var unityColorType = GetInstance(module).UnityColorType;

            if (unityColorType == null || !unityColorType.Equals(qualifierType))
            {
                return(null);
            }

            var colorProperties    = GetStaticColorProperties(unityColorType);
            var propertyTypeMember = colorProperties.FirstOrDefault(p => p.ShortName == colorName);

            if (propertyTypeMember == null)
            {
                return(null);
            }

            return(Pair.Of(unityColorType, propertyTypeMember));
        }