public static async Task <DuiBrowser> CreateDuiBrowser(string screenName, int width = 1280, int height = 720) { var resourceName = API.GetCurrentResourceName(); var url = ConfigReader.GetConfigKeyValue( resourceName, "hypnonema_url", 0, "https://thiago-dev.github.io/fivem-hypnonema"); var posterUrl = ConfigReader.GetConfigKeyValue( resourceName, "hypnonema_poster_url", 0, "https://thiago-dev.github.io/fivem-hypnonema"); var duiBrowser = new DuiBrowser(screenName, posterUrl, url, width, height); while (!duiBrowser.IsDuiAvailable) { await BaseScript.Delay(250); } duiBrowser.CreateRuntimeTexture(); // wait again for dui browser to be fully initialized // TODO: Is this additional delay necessary? await BaseScript.Delay(650); return(duiBrowser); }
public async Task <DuiBrowser> AcquireDuiBrowser(Screen screen, int width = 1280, int height = 720) { DuiBrowser browser; try { browser = this.duiBrowsers.Pop(); } catch (Exception) { // no browser left. create one browser = await DuiBrowser.CreateDuiBrowser(screen.Name, width, height); } browser.Init(); return(browser); }
public void ReleaseDuiBrowser(DuiBrowser browser) { this.duiBrowsers.Push(browser); }