private static T GetAttribute <T> (AttributeLookup attributeLookup)
    {
        var attributes = attributeLookup(typeof(T), true);

        if (attributes.Length == 1)
        {
            return((T)attributes [0]);
        }
        return(default(T));
    }
    private static bool HasRequiredLicense(AttributeLookup attributeLookup, out string message)
    {
        var requiredComponents = new List <String> ();
        var licenseAttribute   = GetAttribute <UTRequiresLicenseAttribute> (attributeLookup);

        if (licenseAttribute != null)
        {
            var theLicense = licenseAttribute.license;
            if ((theLicense & UTLicense.UnityPro) != 0 && !UTils.IsUnityPro)
            {
                requiredComponents.Add("Unity Pro");
            }
            if ((theLicense & UTLicense.IosPro) != 0 && !UTils.HasAdvancedLicenseOn(UnityEditor.BuildTarget.iOS))
            {
                requiredComponents.Add("iOS Pro");
            }
            if ((theLicense & UTLicense.AndroidPro) != 0 && !UTils.HasAdvancedLicenseOn(UnityEditor.BuildTarget.Android))
            {
                requiredComponents.Add("Android Pro");
            }
        }
        else
        {
            // legacy attributes support, this will be removed later.
#pragma warning disable 618
            var unityProAttribute = GetAttribute <UTRequiresUnityPro> (attributeLookup);
            if (unityProAttribute != null && !UTils.IsUnityPro)
            {
                requiredComponents.Add("Unity Pro");
            }

            var unityIosAttribute = GetAttribute <UTRequiresiOS> (attributeLookup);
            if (unityIosAttribute != null && unityIosAttribute.iOSPro && !UTils.HasAdvancedLicenseOn(UnityEditor.BuildTarget.iOS))
            {
                requiredComponents.Add("iOS Pro");
            }


            var unityAndroidAttribute = GetAttribute <UTRequiresAndroid> (attributeLookup);
            if (unityAndroidAttribute != null && unityAndroidAttribute.androidPro && !UTils.HasAdvancedLicenseOn(UnityEditor.BuildTarget.Android))
            {
                requiredComponents.Add("Android Pro");
            }
#pragma warning restore 618
        }

        if (requiredComponents.Count > 0)
        {
            message = String.Join(", ", requiredComponents.ToArray());
            return(false);
        }
        message = "";
        return(true);
    }
Beispiel #3
0
 public Log(AttributeLookup lookUp)
 {
     this.lookUp = lookUp;
 }
Beispiel #4
0
 internal bool IsSet(IdentValue attribute)
 {
     return(AttributeLookup.SafeLookup(attribute) == BoolValue.True);
 }
Beispiel #5
0
 public Log(AttributeLookup lookUp)
 {
     this.lookUp = lookUp;
 }