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);
        }
Exemple #2
0
        private void addMenuBtn(string pIcon, string pName, RadioButton.RadioType pType, bool pOnlyAction = false)
        {
            GameObject  menuItemPrefab = Instantiate(Resources.Load(PREFAB_VIEW_MENU_ITEM)) as GameObject;
            RadioButton controller     = menuItemPrefab.GetComponent <RadioButton>();

            controller.init(pIcon, pName, pType, delegate { onNavMenuItemClick(pType, pOnlyAction); }, 0, pOnlyAction);

            menuItemPrefab.transform.SetParent(mNavMenuPanel.transform);
            Resizer.SetDefScale(menuItemPrefab);
            mRadioGroupController.AddButton(menuItemPrefab.GetComponent <RadioButton>());
        }
        //TODO minimize
        private void InitMenu(XsollaUtils utils)
        {
            _radioController = menuTransform.gameObject.AddComponent <RadioGroupController> ();
            GameObject menuItemPrefab      = Resources.Load(PREFAB_VIEW_MENU_ITEM) as GameObject;
            GameObject menuItemIconPrefab  = Resources.Load(PREFAB_VIEW_MENU_ITEM_ICON) as GameObject;
            GameObject menuItemEmptyPrefab = Resources.Load(PREFAB_VIEW_MENU_ITEM_EMPTY) as GameObject;
//			menuTransform = mainScreen.GetComponentInChildren<HorizontalLayoutGroup> ().gameObject.transform;
            Dictionary <string, XComponent> components = utils.GetProject().components;
            XsollaPaystation2 paystation2 = utils.GetSettings().paystation2;
            bool isGoodsRequred           = components.ContainsKey("items") && components ["items"].IsEnabled;

            if (isGoodsRequred)
            {
                GameObject menuItemGoods = Instantiate(menuItemPrefab) as GameObject;
                Text[]     texts         = menuItemGoods.GetComponentsInChildren <Text>();
                texts[0].text = "";
                texts[1].text = utils.GetTranslations().Get(XsollaTranslations.VIRTUALITEM_PAGE_TITLE);
                menuItemGoods.GetComponent <Button>().onClick.AddListener(delegate {
                    LoadGoodsGroups();
                    _radioController.SelectItem(0);
                });
                menuItemGoods.transform.SetParent(menuTransform);
                _radioController.AddButton(menuItemGoods.GetComponent <RadioButton>());
            }
            //HACK with Unity 5.3
            //bool isPricepointsRequired = components.ContainsKey("virtual_currency") && components ["virtual_currency"].IsEnabled;
            if (paystation2.pricepointsAtFirst != null && paystation2.pricepointsAtFirst.Equals("1"))
            {
                GameObject menuItemPricepoints = Instantiate(menuItemPrefab) as GameObject;
                Text[]     texts = menuItemPricepoints.GetComponentsInChildren <Text>();
                texts[0].text = "";
                texts[1].text = utils.GetTranslations().Get(XsollaTranslations.PRICEPOINT_PAGE_TITLE);
                menuItemPricepoints.GetComponent <Button>().onClick.AddListener(delegate {
                    LoadShopPricepoints();
                    _radioController.SelectItem(1);
                });
                menuItemPricepoints.transform.SetParent(menuTransform);
                _radioController.AddButton(menuItemPricepoints.GetComponent <RadioButton>());
            }

            if (components.ContainsKey("coupons") && components["coupons"].IsEnabled)
            {
                GameObject menuItemCoupons = Instantiate(menuItemPrefab) as GameObject;
                Text[]     texts           = menuItemCoupons.GetComponentsInChildren <Text>();
                texts[0].text = "";
                texts[1].text = utils.GetTranslations().Get(XsollaTranslations.COUPON_PAGE_TITLE);
                menuItemCoupons.GetComponent <Button>().onClick.AddListener(delegate {
                    ShowRedeemCoupon();
                    _radioController.SelectItem(2);
                });
                menuItemCoupons.transform.SetParent(menuTransform);
                _radioController.AddButton(menuItemCoupons.GetComponent <RadioButton>());
            }

            GameObject menuItemEmpty = Instantiate(menuItemEmptyPrefab);

            menuItemEmpty.transform.SetParent(menuTransform);


            GameObject menuItemFavorite = Instantiate(menuItemIconPrefab);

            menuItemFavorite.GetComponentInChildren <Text> ().text = "";
            menuItemFavorite.GetComponent <Button>().onClick.AddListener(delegate {
                _shopViewController.SetTitle(utils.GetTranslations().Get(XsollaTranslations.VIRTUALITEMS_TITLE_FAVORITE));
                LoadFavorites();
                _radioController.SelectItem(3);
            });
            menuItemFavorite.transform.SetParent(menuTransform);
            _radioController.AddButton(menuItemFavorite.GetComponent <RadioButton>());
        }