Exemple #1
0
    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);
    }
Exemple #2
0
    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);
        }
    }
Exemple #3
0
    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);
    }