private void Refrehs() { // create data list form static data var sheet = StaticDataLite.GetSheet("pictype"); var dataList = new List <MainPage_ItemData>(); foreach (string key in sheet.Keys) { var row = sheet[key]; var data = new MainPage_ItemData { row = row, visible = true, }; dataList.Add(data); } // 检查是否有未完成拼图 { var count = PlayerStatus.uncompletePuzzle.Count; var data = new MainPage_ItemData() { pageType = PicturePageType.Uncomplete, visible = count > 0, }; dataList.Insert(0, data); } // 检查是否有已完成的拼图 { var count = PlayerStatus.completeDic.Count; var data = new MainPage_ItemData() { pageType = PicturePageType.Complete, visible = count > 0, }; dataList.Insert(0, data); } SetDataList(dataList); }
public void RefreshOnlyCompleteAndUncomplete() { // 检查是否有未完成拼图 { var count = PlayerStatus.uncompletePuzzle.Count; var data = new MainPage_ItemData() { pageType = PicturePageType.Uncomplete, visible = count > 0, }; SetData(uncompleteItem, data); } // 检查是否有已完成的拼图 { var count = PlayerStatus.completeDic.Count; var data = new MainPage_ItemData() { pageType = PicturePageType.Complete, visible = count > 0, }; SetData(completeItem, data); } }
void SetData(MainPage_Item item, MainPage_ItemData data) { // var sw = new Stopwatch(); // sw.Start(); item.data = data; item.gameObject.SetActive(data.visible); if (data.pageType == PicturePageType.Uncomplete) { uncompleteItem = item; } else if (data.pageType == PicturePageType.Complete) { completeItem = item; } if (!data.visible) { return; } // 如果是一个图片分类 if (data.pageType == PicturePageType.Pictype) { item.label.text = data.row.Get <string>("display_name"); var picType = data.row.Get <string>("id"); var row = PicLibrary.FindFirstRowOfType(picType); var file = row?.Get <string>("file"); var sprite = PicLibrary.LoadContentSprite(file); item.Facade = sprite; item.name = data.row.TryGet <string>("id", "no_id"); if (item.name == "animal") { animal = item; } } // 如果是未完成的拼图 if (data.pageType == PicturePageType.Uncomplete) { item.label.text = "未完成"; if (PlayerStatus.uncompletePuzzle.Count > 0) { var firstCoreInfo = PlayerStatus.FirstUncompletePuzzleInfo; var picId = firstCoreInfo.picId; var picRow = StaticDataLite.GetRow("pic", picId.ToString()); var fileName = picRow.Get <string>("file"); var sprite = PicLibrary.LoadContentSprite(fileName); item.Facade = sprite; } } // 如果是已完成的拼图 if (data.pageType == PicturePageType.Complete) { item.label.text = "已完成"; CompleteInfo firstInfo = null; foreach (var kv in PlayerStatus.completeDic) { firstInfo = kv.Value; break; } var picId = firstInfo.pid; var picRow = StaticDataLite.GetRow("pic", picId.ToString()); var fileName = picRow.Get <string>("file"); var sprite = PicLibrary.LoadContentSprite(fileName); item.Facade = sprite; } // sw.Stop(); // Debug.Log("set item: " + sw.Elapsed.TotalSeconds); }