async Task <ComicsItem> GetLatestComicFromFeedAsync(ComicsFeed comicsFeed) { var cachedItem = memoryCache.TryGetValue <ComicsItem>(comicsFeed.Name); if (cachedItem.hit) { return(cachedItem.value); } var feed = await feedReaderClient.ReadAsync(comicsFeed.URL); var firstItem = feed.Items.FirstOrDefault(); if (firstItem == null) { return(new ComicsItem()); } var comic = new ComicsItem(firstItem); comicsFeed.LastPublished = comic.PublicationDate; var cacheEntryOptions = new MemoryCacheEntryOptions() .SetAbsoluteExpiration(TimeSpan.FromHours(6)); memoryCache.Set(comicsFeed.Name, comic, cacheEntryOptions); return(comic); }
/** * 在resource文件夹下找到对应name的prefab并将其添加到对应的parent底下 */ private ComicsItem instaniateItem(Transform parent, Sprite sprite, int index) { var temp = LoadManager.single.loadAndInstaniate(Constant.COMICS_ITEM_PATH, parent); ComicsItem item = temp.AddComponent <ComicsItem>(); item.init(sprite, index); return(item); }
private IEnumerable <ComicsItem> GerarComicsItem(Comics comics) { ComicsItem item = new ComicsItem { Comics = comics, ComicsId = comics.Id, Id = GerarNumero(), Name = GerarTexto(), ResourceURI = GerarTexto() }; return(new List <ComicsItem> { item }); }
private ComicsItem moveStack(ComicsParentId id) { ComicsItem currentItem = getCurrentItem(); ComicsItem returnItem = null; switch (id) { case ComicsParentId.LeftComics: _leftStack.Push(currentItem); returnItem = _rightStack.Pop(); break; case ComicsParentId.RightComics: _rightStack.Push(currentItem); returnItem = _leftStack.Pop(); break; } currentItem.moveToParent(_parentDic[id]); returnItem.moveToParent(_parentDic[ComicsParentId.CurrentComics]); return(returnItem); }
private void resetRightStack(ComicsItem temp) { temp.setParentAndPos(_parentDic[ComicsParentId.RightComics]); _rightStack.Push(temp); }