Beispiel #1
0
    /// <summary>
    /// 刷新数据
    /// </summary>
    public override void RefreshUI()
    {
        GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData();
        //刷新列表数据
        List <ItemBean> listBuildData = gameData.GetBuildDataByType(buildType);

        for (int i = 0; i < listBuildItem.Count; i++)
        {
            ItemGameBuildCpt itemBuild = listBuildItem[i];
            //如果数据已经没有了则删除该项
            if (itemBuild.itemData == null || itemBuild.itemData.itemNumber == 0)
            {
                listBuildItem.Remove(itemBuild);
                Destroy(itemBuild.gameObject);
                i--;
            }
        }
        //如果有新增的数据
        foreach (ItemBean itemData in listBuildData)
        {
            bool hasData = false;
            for (int i = 0; i < listBuildItem.Count; i++)
            {
                ItemGameBuildCpt itemBuild = listBuildItem[i];
                itemBuild.RefreshUI();
                if (itemData.itemId == itemBuild.itemData.itemId)
                {
                    hasData = true;
                }
            }
            if (!hasData)
            {
                BuildItemBean buildData = InnBuildHandler.Instance.manager.GetBuildDataById(itemData.itemId);
                CreateBuildItem(itemData, buildData);
                tvNull.gameObject.SetActive(false);
            }
        }
        //刷新床列表
        for (int i = 0; i < listBuildForBedItem.Count; i++)
        {
            ItemGameBuildForBedCpt itemGameBuildForBed = listBuildForBedItem[i];
            if (itemGameBuildForBed.buildBedData.isSet)
            {
                itemGameBuildForBed.gameObject.SetActive(false);
            }
            else
            {
                itemGameBuildForBed.gameObject.SetActive(true);
            }
        }
        //刷新美观值
        gameData.GetInnAttributesData().SetAesthetics(gameData.GetInnBuildData());
        SetInnAesthetics();

        SetBedRangeStatus(true);
    }
Beispiel #2
0
    /// <summary>
    /// 创建单个数据
    /// </summary>
    /// <param name="buildBedData"></param>
    public void CreateBuildForBedItem(BuildBedBean buildBedData)
    {
        GameObject             itemBuildObj = Instantiate(itemBuildContainer, itemBuildForBedModel);
        ItemGameBuildForBedCpt itemCpt      = itemBuildObj.GetComponent <ItemGameBuildForBedCpt>();

        itemCpt.SetData(buildBedData);
        listBuildForBedItem.Add(itemCpt);
        if (buildBedData.isSet)
        {
            itemBuildObj.SetActive(false);
        }
        else
        {
            itemBuildObj.SetActive(true);
        }
    }