private static async Task InitializeApplicationAsync() { Application.backgroundLoadingPriority = ThreadPriority.High; // high to load fast first assets. Application.targetFrameRate = 15; #if UnityAddressables var resourceLocator = await AddressablesInitializeAsync(); Debug.Log($"Resource Locator Id: '{(resourceLocator != null ? resourceLocator.LocatorId : "null")}'"); #endif #if UnityLocalization await LocalizationInitializeAsync(); #endif ApplicationInitialized?.Invoke(); Application.targetFrameRate = 60; Application.backgroundLoadingPriority = ThreadPriority.Low; }
/// <summary> /// Evento: ApplicationInitialized /// </summary> /// <param name="notification">Evento.</param> /// <param name="cancellationToken">Token de cancelamento.</param> /// <returns>Task</returns> public async Task Handle(ApplicationInitialized notification, CancellationToken cancellationToken) { const Window formType = Window.GroupWork; var forms = await _messageBus.Send <IDictionary <Window, Form> >( new WindowOpen(formType), cancellationToken); var form = forms[formType]; ((IFormLayout)form).NotUseEscToClose = true; ((IFormLayout)form).ShowButtonMinimize = true; var lockScreen = false; form.SizeChanged += (sender, args) => { if (form.WindowState == FormWindowState.Minimized) { foreach (var formLayout in Application .OpenForms .Cast <Form>() .Where(a => a != form && a is IFormLayout) .ToArray()) { formLayout.Hide(); } lockScreen = _lockScreen.IsLocked; if (lockScreen) { _lockScreen.Unlock(); } } else if (lockScreen) { _lockScreen.Lock(); lockScreen = false; } }; }