示例#1
0
    public void NullOrEmpty_Returns_None(string input)
    {
        // Arrange

        // Act
        var result = EnumF.Parse <TestA>(input);

        // Assert
        result.AssertNone();
    }
示例#2
0
    public void MatchingValue_ReturnsValue()
    {
        // Arrange
        const TestB input = TestB.Test3;

        // Act
        var result = EnumF.Convert(input).To <TestA>();

        // Assert
        Assert.Equal(TestA.Test1, result);
    }
示例#3
0
    public void NoMatchingValue_Returns_None()
    {
        // Arrange
        const TestB input = TestB.Test5;

        // Act
        var result = EnumF.Convert(input).To <TestA>();

        // Assert
        result.AssertNone();
    }
示例#4
0
    public void ValidValue_IncorrectType_Returns_None()
    {
        // Arrange
        const string input = nameof(TestA.Test1);

        // Act
        var result = EnumF.Parse(typeof(string), input);

        // Assert
        result.AssertNone();
    }
示例#5
0
    public void InvalidValue_CorrectType_Returns_None()
    {
        // Arrange
        var input = Rnd.Str;

        // Act
        var result = EnumF.Parse <TestA>(input);

        // Assert
        result.AssertNone();
    }
示例#6
0
    public void ValidValue_CorrectType_Returns_Some()
    {
        // Arrange
        const string input = nameof(TestA.Test1);

        // Act
        var result = EnumF.Parse <TestA>(input);

        // Assert
        Assert.Equal(TestA.Test1, result);
    }
    // I'd really like to handle a lot of this through reflection, but Unity doesn't like me using Type.GetType(string) on its classes.
    public static void ProcessSetting(string name, string val)
    {
        switch (name)
        {
            #region shared
        case "Platform":
            EnumF.TryParse <BuildTargetGroup>(val, out currentPlatform);
            EditorUserBuildSettings.selectedBuildTargetGroup = currentPlatform;
            break;

        case "defaultIcon":
            Texture2D icon = AssetDatabase.LoadAssetAtPath(val, typeof(Texture2D)) as Texture2D;
            PlayerSettings.SetIconsForTargetGroup(BuildTargetGroup.Unknown, new Texture2D[] { icon });
            break;

        case "scriptingDefineSymbols":
            PlayerSettings.SetScriptingDefineSymbolsForGroup(currentPlatform, val);
            break;

        case "companyName":
            PlayerSettings.companyName = val;
            break;

        case "productName":
            PlayerSettings.productName = val;
            break;

        case "iPhoneBundleIdentifier":
            PlayerSettings.iPhoneBundleIdentifier = val;
            break;

        case "keystorePass":
            PlayerSettings.keystorePass = val;
            break;

        case "keyaliasPass":
            PlayerSettings.keyaliasPass = val;
            break;

        case "bundleVersion":
            PlayerSettings.bundleVersion = val;
            break;

        case "bundleIdentifier":
            PlayerSettings.bundleIdentifier = val;
            break;

        case "statusBarHidden":
            PlayerSettings.statusBarHidden = Boolean.Parse(val);
            break;

        case "defaultInterfaceOrientation":
            UIOrientation tempdefaultInterfaceOrientation;
            EnumF.TryParse <UIOrientation>(val, out tempdefaultInterfaceOrientation);
            PlayerSettings.defaultInterfaceOrientation = tempdefaultInterfaceOrientation;
            break;

        case "allowedAutorotateToPortrait":
            PlayerSettings.allowedAutorotateToPortrait = Boolean.Parse(val);
            break;

        case "allowedAutorotateToPortraitUpsideDown":
            PlayerSettings.allowedAutorotateToPortraitUpsideDown = Boolean.Parse(val);
            break;

        case "allowedAutorotateToLandscapeRight":
            PlayerSettings.allowedAutorotateToLandscapeRight = Boolean.Parse(val);
            break;

        case "allowedAutorotateToLandscapeLeft":
            PlayerSettings.allowedAutorotateToLandscapeLeft = Boolean.Parse(val);
            break;

        case "useAnimatedAutorotation":
            PlayerSettings.useAnimatedAutorotation = Boolean.Parse(val);
            break;

        case "use32BitDisplayBuffer":
            PlayerSettings.use32BitDisplayBuffer = Boolean.Parse(val);
            break;

        case "targetGlesGraphics":
            TargetGlesGraphics temptargetGlesGraphics;
            EnumF.TryParse <TargetGlesGraphics>(val, out temptargetGlesGraphics);
            PlayerSettings.targetGlesGraphics = temptargetGlesGraphics;
            break;

        case "apiCompatibilityLevel":
            ApiCompatibilityLevel tempapiCompatibilityLevel;
            EnumF.TryParse <ApiCompatibilityLevel>(val, out tempapiCompatibilityLevel);
            PlayerSettings.apiCompatibilityLevel = tempapiCompatibilityLevel;
            break;

        case "stripUnusedMeshComponents":
            PlayerSettings.stripUnusedMeshComponents = Boolean.Parse(val);
            break;

        case "aotOptions":
            PlayerSettings.aotOptions = val;
            break;

        case "accelerometerFrequency":
            PlayerSettings.accelerometerFrequency = Int32.Parse(val);
            break;

        case "MTRendering":
            PlayerSettings.MTRendering = Boolean.Parse(val);
            break;

        case "mobileMTRendering":
            PlayerSettings.mobileMTRendering = Boolean.Parse(val);
            break;

        case "renderingPath":
            RenderingPath temprenderingPath;
            EnumF.TryParse <RenderingPath>(val, out temprenderingPath);
            PlayerSettings.renderingPath = temprenderingPath;
            break;

        case "mobileRenderingPath":
            RenderingPath tempmobileRenderingPath;
            EnumF.TryParse <RenderingPath>(val, out tempmobileRenderingPath);
            PlayerSettings.renderingPath = tempmobileRenderingPath;
            break;

        case "useDirect3D11":
            PlayerSettings.useDirect3D11 = Boolean.Parse(val);
            break;

        case "stereoscopic3D":
            PlayerSettings.stereoscopic3D = Boolean.Parse(val);
            break;

            #endregion
            #region android
        case "Android.use24BitDepthBuffer":
            PlayerSettings.Android.use24BitDepthBuffer = Boolean.Parse(val);
            break;

        case "Android.bundleVersionCode":
            PlayerSettings.Android.bundleVersionCode = Int32.Parse(val);
            break;

        case "Android.minSdkVersion":
            AndroidSdkVersions tempminSdkVersion;
            EnumF.TryParse <AndroidSdkVersions>(val, out tempminSdkVersion);
            PlayerSettings.Android.minSdkVersion = tempminSdkVersion;
            break;

        case "Android.preferredInstallLocation":
            AndroidPreferredInstallLocation temppreferredInstallLocation;
            EnumF.TryParse <AndroidPreferredInstallLocation>(val, out temppreferredInstallLocation);
            PlayerSettings.Android.preferredInstallLocation = temppreferredInstallLocation;
            break;

        case "Android.forceInternetPermission":
            PlayerSettings.Android.forceInternetPermission = Boolean.Parse(val);
            break;

        case "Android.forceSDCardPermission":
            PlayerSettings.Android.forceSDCardPermission = Boolean.Parse(val);
            break;

        case "Android.targetDevice":
            AndroidTargetDevice temptargetDevice;
            EnumF.TryParse <AndroidTargetDevice>(val, out temptargetDevice);
            PlayerSettings.Android.targetDevice = temptargetDevice;
            break;

        case "Android.splashScreenScale":
            AndroidSplashScreenScale tempsplashScreenScale;
            EnumF.TryParse <AndroidSplashScreenScale>(val, out tempsplashScreenScale);
            PlayerSettings.Android.splashScreenScale = tempsplashScreenScale;
            break;

        case "Android.keystoreName":
            PlayerSettings.Android.keystoreName = val;
            break;

        case "Android.keystorePass":
            PlayerSettings.Android.keystorePass = val;
            break;

        case "Android.keyaliasName":
            PlayerSettings.Android.keyaliasName = val;
            break;

        case "Android.keyaliasPass":
            PlayerSettings.Android.keyaliasPass = val;
            break;

        case "Android.useAPKExpansionFiles":
            PlayerSettings.Android.useAPKExpansionFiles = Boolean.Parse(val);
            break;

        case "Android.showActivityIndicatorOnLoading":
            AndroidShowActivityIndicatorOnLoading tempshowActivityIndicatorOnLoading;
            EnumF.TryParse <AndroidShowActivityIndicatorOnLoading>(val, out tempshowActivityIndicatorOnLoading);
            PlayerSettings.Android.showActivityIndicatorOnLoading = tempshowActivityIndicatorOnLoading;
            break;

            #endregion
            #region iOS
        case "iOS.applicationDisplayName":
            PlayerSettings.iOS.applicationDisplayName = val;
            break;

        case "iOS.scriptCallOptimization":
            ScriptCallOptimizationLevel tempscriptCallOptimization;
            EnumF.TryParse <ScriptCallOptimizationLevel>(val, out tempscriptCallOptimization);
            PlayerSettings.iOS.scriptCallOptimization = tempscriptCallOptimization;
            break;

        case "iOS.sdkVersion":
            iOSSdkVersion tempsdkVersion;
            EnumF.TryParse <iOSSdkVersion>(val, out tempsdkVersion);
            PlayerSettings.iOS.sdkVersion = tempsdkVersion;
            break;

        case "iOS.targetOSVersion":
            iOSTargetOSVersion temptargetOSVersion;
            EnumF.TryParse <iOSTargetOSVersion>(val, out temptargetOSVersion);
            PlayerSettings.iOS.targetOSVersion = temptargetOSVersion;
            break;

        case "iOS.targetDevice":
            iOSTargetDevice tempiostargetDevice;
            EnumF.TryParse <iOSTargetDevice>(val, out tempiostargetDevice);
            PlayerSettings.iOS.targetDevice = tempiostargetDevice;
            break;

        case "iOS.targetResolution":
            iOSTargetResolution temptargetResolution;
            EnumF.TryParse <iOSTargetResolution>(val, out temptargetResolution);
            PlayerSettings.iOS.targetResolution = temptargetResolution;
            break;

        case "iOS.prerenderedIcon":
            PlayerSettings.iOS.prerenderedIcon = Boolean.Parse(val);
            break;

        case "iOS.requiresPersistentWiFi":
            PlayerSettings.iOS.requiresPersistentWiFi = Boolean.Parse(val);
            break;

        case "iOS.statusBarStyle":
            iOSStatusBarStyle tempstatusBarStyle;
            EnumF.TryParse <iOSStatusBarStyle>(val, out tempstatusBarStyle);
            PlayerSettings.iOS.statusBarStyle = tempstatusBarStyle;
            break;

        case "iOS.exitOnSuspend":
            PlayerSettings.iOS.exitOnSuspend = Boolean.Parse(val);
            break;

        case "iOS.showActivityIndicatorOnLoading":
            iOSShowActivityIndicatorOnLoading tempiosshowActivityIndicatorOnLoading;
            EnumF.TryParse <iOSShowActivityIndicatorOnLoading>(val, out tempiosshowActivityIndicatorOnLoading);
            PlayerSettings.iOS.showActivityIndicatorOnLoading = tempiosshowActivityIndicatorOnLoading;
            break;

            #endregion
        default:
            Debug.LogWarning("Unprocessed setting: " + name + " Value: " + val);
            break;
        }
    }