示例#1
0
        public virtual void DrawSetting(SerializedProperty settings, IAndroidBuildSettings buildSettings)
        {
            EditorGUILayout.LabelField("Keystore", EditorStyles.boldLabel);
            EditorGUI.indentLevel++;
            {
                var useCustomKeystore = settings.FindPropertyRelative(nameof(_useCustomKeystore));
                EditorGUILayout.PropertyField(useCustomKeystore, new GUIContent("Use custom keystore"));

                EditorGUI.BeginDisabledGroup(!useCustomKeystore.boolValue);

                var keystoreFile = settings.FindPropertyRelative(nameof(_keystoreFile));
                EditorGUIExtensions.FilePathField(keystoreFile, "Select keystore file.", "", "");

                DrawPassword(settings, nameof(_keystorePassword), new GUIContent("Keystore Password"));

                var keystoreAliasName = settings.FindPropertyRelative(nameof(_keystoreAliasName));
                EditorGUILayout.PropertyField(keystoreAliasName, new GUIContent("Alias"));

                DrawPassword(settings, nameof(_keystoreAliasPassword), new GUIContent("Alias Password"));

                EditorGUI.EndDisabledGroup();

                _showPasswords = EditorGUILayout.Toggle(new GUIContent("Show Passwords"), _showPasswords);
            }
            EditorGUI.indentLevel--;
        }
示例#2
0
        public virtual void ApplySettings(IAndroidBuildSettings buildSettings)
        {
            PlayerSettings.Android.useCustomKeystore = _useCustomKeystore;

            PlayerSettings.Android.keystoreName = _keystoreFile;
            PlayerSettings.Android.keystorePass = _keystorePassword;
            PlayerSettings.Android.keyaliasName = _keystoreAliasName;
            PlayerSettings.Android.keyaliasPass = _keystoreAliasPassword;
        }
        public virtual void ApplyBuildTargetSettings(IAndroidBuildSettings buildSettings)
        {
            var scriptingBackend = (ScriptingImplementation)_scriptingBackend;

            PlayerSettings.SetScriptingBackend(BuildTargetGroup.Android, scriptingBackend);

            var targetArchitecture = (AndroidArchitecture)_targetArchitecture;

            PlayerSettings.Android.targetArchitectures = targetArchitecture;
        }
        protected virtual void ReadBuildTargetSettings(IAndroidBuildSettings buildSettings)
        {
            var scriptingBackend = PlayerSettings.GetScriptingBackend(BuildTargetGroup.Android);

            _scriptingBackend = (EScriptingBackend)scriptingBackend;

            var targetArchitecture = PlayerSettings.Android.targetArchitectures;

            _targetArchitecture = (EAndroidArchitecture)targetArchitecture;
        }
示例#5
0
        public virtual void ReadSettings(IAndroidBuildSettings buildSettings)
        {
            _useCustomKeystore = PlayerSettings.Android.useCustomKeystore;

            _keystoreFile = PlayerSettings.Android.keystoreName.Replace("\\", "/")
                            .Replace(ProjectBuilderUtil.projectDir + "/", "");
            _keystorePassword      = PlayerSettings.Android.keystorePass;
            _keystoreAliasName     = PlayerSettings.Android.keyaliasName;
            _keystoreAliasPassword = PlayerSettings.Android.keyaliasPass;
        }
        /// <summary>
        /// Draws the ios settings.
        /// </summary>
        public virtual void DrawSetting(SerializedProperty settings, IAndroidBuildSettings buildSettings)
        {
            EditorGUILayout.LabelField("Target", EditorStyles.boldLabel);
            EditorGUI.indentLevel++;
            {
                DrawTargetBackend(settings, buildSettings);

                DrawTargetArchitecture(settings, buildSettings);

                DrawTargetBuildMode(settings, buildSettings);
            }
            EditorGUI.indentLevel--;
        }
        protected virtual void ReadBuildModeSettings(IAndroidBuildSettings buildSettings)
        {
            bool exportAsGoogleAndroidProject = EditorUserBuildSettings.exportAsGoogleAndroidProject;
            bool buildAppBundle = EditorUserBuildSettings.buildAppBundle;

            if (exportAsGoogleAndroidProject)
            {
                _buildMode = EAndroidBuildMode.ANDROID_PROJECT;
            }
            else if (buildAppBundle)
            {
                _buildMode = EAndroidBuildMode.GOOGLE_BUNDLE;
            }
            else
            {
                _buildMode = EAndroidBuildMode.APK;
            }
        }
        public virtual void ApplyBuildModeSettings(IAndroidBuildSettings buildSettings)
        {
            switch (_buildMode)
            {
            case EAndroidBuildMode.APK:
                EditorUserBuildSettings.exportAsGoogleAndroidProject = false;
                EditorUserBuildSettings.buildAppBundle = false;
                break;

            case EAndroidBuildMode.ANDROID_PROJECT:
                EditorUserBuildSettings.exportAsGoogleAndroidProject = true;
                EditorUserBuildSettings.buildAppBundle = false;
                break;

            case EAndroidBuildMode.GOOGLE_BUNDLE:
                EditorUserBuildSettings.exportAsGoogleAndroidProject = false;
                EditorUserBuildSettings.buildAppBundle = true;
                break;
            }
        }
示例#9
0
        public virtual void DrawSetting(SerializedProperty settings, IAndroidBuildSettings buildSettings)
        {
#if SYMBOLS_ZIP_AVAILABLE
            EditorGUILayout.LabelField("symbols.zip", EditorStyles.boldLabel);

            var targetSettings   = buildSettings.TargetSettings;
            var scriptingBackend = targetSettings.ScriptingBackend;

            EditorGUI.BeginDisabledGroup(scriptingBackend != EScriptingBackend.IL2CPP);

            EditorGUI.indentLevel++;
            {
                var createSymbolsZip = settings.FindPropertyRelative("_createSymbolsZip");
                EditorGUILayout.PropertyField(createSymbolsZip, new GUIContent("Create symbols.zip"));
            }
            EditorGUI.indentLevel--;

            EditorGUI.EndDisabledGroup();
#endif // SYMBOLS_ZIP_AVAILABLE
        }
 public virtual void ApplySettings(IAndroidBuildSettings buildSettings)
 {
     ApplyBuildTargetSettings(buildSettings);
     ApplyBuildModeSettings(buildSettings);
 }
 public virtual void ReadSettings(IAndroidBuildSettings buildSettings)
 {
     ReadBuildTargetSettings(buildSettings);
     ReadBuildModeSettings(buildSettings);
 }
        protected virtual void DrawTargetBuildMode(SerializedProperty settings, IAndroidBuildSettings buildSettings)
        {
            var buildMode = settings.FindPropertyRelative(nameof(_buildMode));

            EditorGUILayout.PropertyField(buildMode, new GUIContent("Build Mode"));
        }
        protected virtual void DrawTargetArchitecture(SerializedProperty settings, IAndroidBuildSettings buildSettings)
        {
            EditorGUILayout.LabelField("Target Architecture", EditorStyles.boldLabel);
            EditorGUI.indentLevel++;
            {
                var targetArchitectureProperty = settings.FindPropertyRelative(nameof(_targetArchitecture));
                var targetArchitecture         = (EAndroidArchitecture)targetArchitectureProperty.longValue;

                var scriptingBackendProperty = settings.FindPropertyRelative(nameof(_scriptingBackend));
                var scriptingBackend         = (EScriptingBackend)scriptingBackendProperty.longValue;

                bool taChanged = false;

                var names  = Enum.GetNames(typeof(EAndroidArchitecture));
                var values = (EAndroidArchitecture[])Enum.GetValues(typeof(EAndroidArchitecture));
                for (int i = 1; i < values.Length - 1; i++)
                {
                    var  architecture         = values[i];
                    bool isArchitectureEnable = targetArchitecture.HasFlag(architecture);

                    GUI.changed = false;

                    if (_availableArchitectures.TryGetValue(scriptingBackend, out var architectures))
                    {
                        bool isAvailableArchitecture = architectures.HasFlag(architecture);

                        EditorGUI.BeginDisabledGroup(!isAvailableArchitecture);

                        if (!isAvailableArchitecture)
                        {
                            if (isArchitectureEnable)
                            {
                                GUI.changed          = true;
                                isArchitectureEnable = false;
                            }
                        }
                    }

                    isArchitectureEnable = EditorGUILayout.Toggle(new GUIContent(names[i]), isArchitectureEnable);

                    if (GUI.changed)
                    {
                        if (isArchitectureEnable)
                        {
                            targetArchitecture |= values[i];
                        }
                        else
                        {
                            targetArchitecture ^= values[i];
                        }

                        taChanged = true;
                    }

                    EditorGUI.EndDisabledGroup();
                }

                if (taChanged)
                {
                    targetArchitectureProperty.longValue = (long)targetArchitecture;
                }
            }
            EditorGUI.indentLevel--;
        }
        protected virtual void DrawTargetBackend(SerializedProperty settings, IAndroidBuildSettings buildSettings)
        {
            var scriptingBackend = settings.FindPropertyRelative(nameof(_scriptingBackend));

            EditorGUILayout.PropertyField(scriptingBackend, new GUIContent("Scripting Backend"));
        }
示例#15
0
        public virtual void ApplySettings(IAndroidBuildSettings buildSettings)
        {
#if SYMBOLS_ZIP_AVAILABLE
            EditorUserBuildSettings.androidCreateSymbolsZip = _createSymbolsZip;
#endif // SYMBOLS_ZIP_AVAILABLE
        }