private void addMenuItem(XsollaGoodsGroup pGoodsGroup, Action <XsollaGoodsGroup> pSelectItem, GameObject pParent)
        {
            GameObject  baseMenuItem = Resources.Load(PREFAB_MENU_ITEM) as GameObject;
            GameObject  lMenuItem    = Instantiate(baseMenuItem);
            RadioButton lController  = lMenuItem.GetComponent <RadioButton>();

            lController.init("", pGoodsGroup.GetName(), RadioButton.RadioType.GOODS_ITEM, delegate
            {
                mRadioGroupController.UnselectAll();
                pSelectItem(pGoodsGroup);
            }, pGoodsGroup.mLevel);

            mRadioGroupController.AddButton(lController);

            // Задаем является ли родителем
            lController.setParentState(pGoodsGroup.mChildren.Count > 0);

            //  Заносим детей
            if (pGoodsGroup.mChildren.Count > 0)
            {
                pGoodsGroup.mChildren.GetItemsList().ForEach((item) =>
                {
                    addMenuItem(item, pSelectItem, lController.mChildrenContainer);
                });
            }

            lMenuItem.transform.SetParent(pParent.transform);
            Resizer.SetDefScale(lMenuItem);
        }
Ejemplo n.º 2
0
        private void SelectGoodsGroup(XsollaGoodsGroup pGroup)
        {
            // Зачищаем панель с товарами
            ClearItemsContent();
            // Запускаем прелоадер
            mProgressBar.SetLoading(true);
            // выбор товаров по группе
            // Меняем заголовок
            mShopTitle.text = pGroup.GetName();
            mCurrGroupId    = pGroup.id;

            // запрос на данные
            Logger.Log("Load goods from groupId:" + pGroup.id.ToString());
            Dictionary <String, object> lParams = new Dictionary <string, object>();

            lParams.Add(XsollaApiConst.ACCESS_TOKEN, mUtils.GetAcceessToken());
            if (mUtils.GetUser().userBalance != null)
            {
                lParams.Add(XsollaApiConst.USER_INITIAL_CURRENCY, mUtils.GetUser().userBalance.currency);
            }
            lParams.Add("group_id", pGroup.id);
            // Если id = -1 то это распродажа и делаем запрос по другому адресу
            ApiRequest.Instance.getApiRequest(new XsollaRequestPckg((pGroup.id == -1) ? mSalesUrl : mGoodsUrl, lParams), GoodsRecived, ErrorRecived, mGroupUseCached.ContainsKey(mCurrGroupId) ? mGroupUseCached[mCurrGroupId] : true);

            SetCachedStateOnGroupId(mCurrGroupId, true);
        }