Example #1
0
        /// <summary>
        /// Gets all iOS Info.plist items required by the given module if it's enabled.
        /// If the module is disable, an empty list will be returned.
        /// </summary>
        /// <returns>The IOS info items required by module.</returns>
        /// <param name="mod">Mod.</param>
        internal static List <iOSInfoPlistItem> GetIOSInfoItemsRequiredByModule(Module mod)
        {
            var moduleInfoItems = new List <iOSInfoPlistItem>();
            var manager         = GetModuleManager(mod);

            if (manager == null)
            {
                return(moduleInfoItems);
            }

            // Is this composite module?
            var compManager = manager as CompositeModuleManager;

            if (compManager != null)    // Is a composite module
            {
                foreach (Submodule submod in compManager.SelfSubmodules)
                {
                    if (EM_Settings.IsSubmoduleEnable(submod) && compManager.iOSInfoItemsHolderForSubmodule(submod) != null)
                    {
                        moduleInfoItems.AddRange(compManager.iOSInfoItemsHolderForSubmodule(submod).GetIOSInfoPlistKeys());
                    }
                }
            }
            else    // Is a normal module
            {
                if (EM_Settings.IsModuleEnable(mod) && manager.iOSInfoItemsHolder != null)
                {
                    moduleInfoItems.AddRange(manager.iOSInfoItemsHolder.GetIOSInfoPlistKeys());
                }
            }

            return(moduleInfoItems);
        }
Example #2
0
        protected virtual void Start()
        {
            if (!EM_Settings.IsSubmoduleEnable(Submodule.Media))
            {
                curtain.SetActive(true);
                return;
            }
            else
            {
                curtain.SetActive(false);
            }


            takePictureButton.onClick.AddListener(TakePicture);
            recordVideoButton.onClick.AddListener(RecordVideo);
            pickButton.onClick.AddListener(PickFromGallery);
            saveImageButton.onClick.AddListener(SaveImage);
            clearViewsButton.onClick.AddListener(ClearDisplayedViews);
            randomTextureButton.onClick.AddListener(RandomDisplayImage);
            clearTexutreButton.onClick.AddListener(ClearDisplayImage);
            InitDropdownWithEnum(imageFormatDropdown, typeof(ImageFormat));

            InitDropdownWithEnum(cameraTypeDropdown, typeof(CameraType));
            cameraTypeDropdown.onValueChanged.AddListener(index => currentCameraType = (CameraType)index);

            bool hasFrontCamera = Media.Camera.IsCameraAvailable(CameraType.Front);
            bool hasRearCamera  = Media.Camera.IsCameraAvailable(CameraType.Rear);

            demoUtils.DisplayBool(frontCameraSupportedToggle, hasFrontCamera, hasFrontCamera ? "Front Camera Available" : "Front Camera Unavailable");
            demoUtils.DisplayBool(backCameraSupportedToggle, hasRearCamera, hasRearCamera ? "Rear Camera Available" : "Rear Camera Unavailable");
        }
Example #3
0
        /// <summary>
        /// Gets all Android permissions required by the given module if it's enabled.
        /// If the module is disable, an empty list will be returned.
        /// </summary>
        /// <returns>The android permissions required by module.</returns>
        /// <param name="mod">Mod.</param>
        internal static List <AndroidPermission> GetAndroidPermissionsRequiredByModule(Module mod)
        {
            var modulePermissions = new List <AndroidPermission>();
            var manager           = GetModuleManager(mod);

            if (manager == null)
            {
                return(modulePermissions);
            }

            // Is this composite module?
            var compManager = manager as CompositeModuleManager;

            if (compManager != null)    // Is a composite module
            {
                foreach (Submodule submod in compManager.SelfSubmodules)
                {
                    if (EM_Settings.IsSubmoduleEnable(submod) && compManager.AndroidPermissionHolderForSubmodule(submod) != null)
                    {
                        modulePermissions.AddRange(compManager.AndroidPermissionHolderForSubmodule(submod).GetAndroidPermissions());
                    }
                }
            }
            else    // Is a normal module
            {
                if (EM_Settings.IsModuleEnable(mod) && manager.AndroidPermissionsHolder != null)
                {
                    modulePermissions.AddRange(manager.AndroidPermissionsHolder.GetAndroidPermissions());
                }
            }

            return(modulePermissions);
        }
Example #4
0
        private void Awake()
        {
            if (!EM_Settings.IsSubmoduleEnable(Submodule.Contacts))
            {
                curtain.SetActive(true);
                return;
            }
            else
            {
                curtain.SetActive(false);
            }

            getAllContactsButton.onClick.AddListener(GetAllContacts);
            addContactButton.onClick.AddListener(AddContact);
            generateAvatarButton.onClick.AddListener(GenerateAvatar);
            pickContactsButton.onClick.AddListener(PickContacts);
            clearAvatarButton.onClick.AddListener(ClearAvatar);
            clearCreatedContactsButton.onClick.AddListener(ClearContactViews);

            addEmailButton.onClick.AddListener(AddEmail);
            addPhoneNumberButton.onClick.AddListener(AddPhoneNumber);
            editEmailsButton.onClick.AddListener(() => collectionView.Show(addedEmails, "Emails"));
            editPhoneNumbersButton.onClick.AddListener(() => collectionView.Show(addedPhoneNumbers, "Phone Numbers"));

            firstnNameInput.keyboardType  = TouchScreenKeyboardType.NamePhonePad;
            middleNameInput.keyboardType  = TouchScreenKeyboardType.NamePhonePad;
            lastNameInput.keyboardType    = TouchScreenKeyboardType.NamePhonePad;
            emailInput.keyboardType       = TouchScreenKeyboardType.EmailAddress;
            phoneNumberInput.keyboardType = TouchScreenKeyboardType.PhonePad;
        }
Example #5
0
        public static void MenuOpenSettings()
        {
            // Open EM_Settings in Inspector window.
            EM_Settings instance = EM_Settings.LoadSettingsAsset();

            if (instance == null)
            {
                instance = EM_BuiltinObjectCreator.CreateEMSettingsAsset();
            }

            Selection.activeObject = instance;

            // Focus on Inspector window if needed.
            if (EditorWindow.focusedWindow == null || EditorWindow.focusedWindow.GetType().Name != InspectorWindowType)
            {
                var allWindows = Resources.FindObjectsOfTypeAll <EditorWindow>();
                if (allWindows != null)
                {
                    foreach (var a in allWindows)
                    {
                        string windowType = a.GetType().Name;
                        if (windowType == InspectorWindowType)
                        {
                            a.Focus();
                            break;
                        }
                    }
                }
            }
        }
        public static void MenuOpenSettings()
        {
            EM_Settings instance = EM_Settings.LoadSettingsAsset();

            if (instance == null)
            {
                instance = CreateSettingsAsset();
            }

            Selection.activeObject = instance;
        }
Example #7
0
        public static void MenuOpenSettings()
        {
            // Load settings object or create a new one if it doesn't exist.
            EM_Settings instance = EM_Settings.LoadSettingsAsset();

            if (instance == null)
            {
                instance = EM_BuiltinObjectCreator.CreateEMSettingsAsset();
            }

            EM_SettingsWindow.ShowWindow();
        }
Example #8
0
        // Makes sure that everything is set up properly so that all modules function as expected.
        internal static void CheckModules()
        {
            foreach (Module mod in Enum.GetValues(typeof(Module)))
            {
                var manager = GetModuleManager(mod);

                if (manager == null)
                {
                    continue;
                }

                // Is this composite module?
                var compManager = manager as CompositeModuleManager;

                if (compManager != null)    // Is really a composite module
                {
                    foreach (Submodule submod in compManager.SelfSubmodules)
                    {
                        if (EM_Settings.IsSubmoduleEnable(submod))
                        {
                            compManager.EnableSubmodule(submod);
                        }
                        else
                        {
                            compManager.DisableSubmodule(submod);
                        }
                    }
                }
                else    // Is a normal module
                {
                    if (EM_Settings.IsModuleEnable(mod))
                    {
                        manager.EnableModule();
                    }
                    else
                    {
                        manager.DisableModule();
                    }
                }
            }
        }
        private static EM_Settings CreateSettingsAsset()
        {
            // Stop if the asset is already created.
            EM_Settings instance = EM_Settings.LoadSettingsAsset();

            if (instance != null)
            {
                return(instance);
            }

            // Create Resources folder if it doesn't exist.
            FileIO.EnsureFolderExists(EM_Constants.ResourcesFolder);

            // Now create the asset inside the Resources folder.
            instance = EM_Settings.Instance; // this will create a new instance of the EMSettings scriptable.
            AssetDatabase.CreateAsset(instance, EM_Constants.SettingsAssetPath);
            AssetDatabase.SaveAssets();
            AssetDatabase.Refresh();

            Debug.Log("EM_Settings.asset is created at " + EM_Constants.SettingsAssetPath);

            return(instance);
        }
        internal static List <string> GetAndroidManifestTemplatePathsForModule(Module mod)
        {
            var paths   = new List <string>();
            var manager = EM_PluginManager.GetModuleManager(mod);

            if (manager == null)
            {
                return(paths);
            }

            // Is this composite module?
            var compManager = manager as CompositeModuleManager;

            if (compManager != null)    // Is a composite module
            {
                foreach (Submodule submod in compManager.SelfSubmodules)
                {
                    if (EM_Settings.IsSubmoduleEnable(submod))
                    {
                        var submodPaths = compManager.AndroidManifestTemplatePathsForSubmodule(submod);
                        if (submodPaths != null && submodPaths.Count > 0)
                        {
                            paths.AddRange(submodPaths);
                        }
                    }
                }
            }
            else    // Is a normal module
            {
                if (EM_Settings.IsModuleEnable(mod))
                {
                    paths = manager.AndroidManifestTemplatePaths;
                }
            }

            return(paths);
        }