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); }
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); }