private async Task RefreshList(float delay = 0f) { if (delay > 0f) { var t = new Task(() => Thread.Sleep((int)(delay * 1000))); t.Start(); await t; } if (!refreshList) { return; } IEnumerable <GameInfoComponent> items = client.GetItems(); ListArea.Clear(); foreach (GameInfoComponent gameInfoComponent in items) { VisualElement item = new VisualElement(); NewGameItemTemplate.CloneTree(item); if (item.Q(null, "game-name") is Label l) { l.text = gameInfoComponent.Name.ToString(); } item.userData = gameInfoComponent.Id; ListArea.Add(item); } }