Example #1
0
    public void loadInfoItem()
    {
        if (target != null)
        {
            AutoDestroy.destroyChildren(infoPanel, PlayNameHashIDs.Collider);

            //active tower name
            if (!labelTowerName.gameObject.activeSelf)
            {
                labelTowerName.gameObject.SetActive(true);
            }

            ItemShopController targetController = target.GetComponent <ItemShopController>();
            labelTowerName.text = targetController.MainName;

            //Set name color
            labelTowerName.color       = PlayConfig.ColorShopItemName;
            labelTowerName.effectColor = PlayConfig.ColorShopItemNameOutline;

            GameObject info = Instantiate(itemShopInfoModel) as GameObject;
            info.transform.parent     = infoPanel.transform;
            info.transform.localScale = Vector3.one;

            info.GetComponent <UIAnchor>().container  = infoPanel.gameObject;
            info.GetComponent <UIStretch>().container = infoPanel.gameObject;

            //Set value
            ItemShopInfoController infoController = info.GetComponent <ItemShopInfoController>();
            infoController.icon.spriteName = targetController.icon.spriteName;
            infoController.value.text      = targetController.Value.text;

            //set icon fix size
            infoController.icon.keepAspectRatio = UIWidget.AspectRatioSource.Free;
            infoController.icon.SetDimensions(infoController.icon.mainTexture.width, infoController.icon.mainTexture.height);
            infoController.icon.keepAspectRatio = UIWidget.AspectRatioSource.BasedOnHeight;

            //set package
            ItemData itemData = ReadDatabase.Instance.ItemInfo[targetController.ID];
            int      length   = itemData.Packages.Count;

            for (int i = 0; i < length; i++)
            {
                ItemPackage itemPackage = (ItemPackage)itemData.Packages[i];
                ItemShopPackageController packageController = infoController.packages[i].GetComponent <ItemShopPackageController>();

                packageController.labelDiamond.text = itemPackage.Diamond.ToString();
                packageController.labelGold.text    = itemPackage.Gold.ToString();

                int result = -1;
                if (int.TryParse(itemPackage.Wave, out result))
                {
                    if (result <= 1)
                    {
                        packageController.labelDuration.text = "Duration: " + result + " wave";
                    }
                    else
                    {
                        packageController.labelDuration.text = "Duration: " + result + " waves";
                    }
                }
                else
                {
                    if (itemPackage.Wave.Equals("Half"))
                    {
                        packageController.labelDuration.text = "Duration: " + WaveController.Instance.infoMap.WaveLength / 2 + " waves";
                    }
                    else if (itemPackage.Wave.Equals("Full"))
                    {
                        packageController.labelDuration.text = "Duration: all waves";
                    }
                }
            }
        }
    }
    public void OnClick()
    {
        switch (type)
        {
        case EPaymentItemShop.CANCEL:
            ShopController.Instance.paymentItemPanel.SetActive(false);
            break;

        case EPaymentItemShop.PACKAGE:
            if (controller.target == parent)
            {
                if (controller.paymentType == EPaymentType.NONE)
                {
                    DeviceService.Instance.openToast("Please select the payment type :T");
                    Debug.Log("Please select the payment type :T");
                }
                else if (controller.paymentType == EPaymentType.GOLD)
                {
                    if (PlayInfo.Instance.Money < Gold)
                    {
                        DeviceService.Instance.openToast("Not enought gold @@");
                        Debug.Log("Not enought gold @@");
                    }
                    else
                    {
                        PlayInfo.Instance.Money -= Gold;

                        ItemShopController itemController = ShopController.Instance.target.GetComponent <ItemShopController>();
                        ItemManager.Instance.enableItem(itemController.ID, itemController.ItemState, wave);

                        Time.timeScale = PlayerInfo.Instance.userInfo.timeScale;
                        ShopController.Instance.paymentItemPanel.SetActive(false);
                        PlayPanel.Instance.Shop.SetActive(false);

                        PlayManager.Instance.setTowerBonus();
                        PlayManager.Instance.towerInfoController.checkTowerBonus();
                    }
                }
                else
                {
                    if (PlayerInfo.Instance.userInfo.diamond < Diamond)
                    {
                        DeviceService.Instance.openToast("Not enought diamond >'<");
                        Debug.Log("Not enought diamond >'<");
                    }
                    else
                    {
                        PlayerInfo.Instance.userInfo.diamond -= Diamond;
                        PlayerInfo.Instance.userInfo.Save();

                        ItemShopController itemController = ShopController.Instance.target.GetComponent <ItemShopController>();
                        ItemManager.Instance.enableItem(itemController.ID, itemController.ItemState, wave);

                        Time.timeScale = PlayerInfo.Instance.userInfo.timeScale;
                        ShopController.Instance.paymentItemPanel.SetActive(false);
                        PlayPanel.Instance.Shop.SetActive(false);

                        PlayManager.Instance.setTowerBonus();
                        PlayManager.Instance.towerInfoController.checkTowerBonus();
                    }
                }
            }
            else
            {
                controller.target = parent;
                controller.selectedPackage.transform.position = this.transform.position;
                DeviceService.Instance.openToast("One more tap to purchase!");
            }
            break;
        }
    }
Example #3
0
    public void loadItem()
    {
        if (shopType == EShopType.ITEM)
        {
            return;
        }

        shopType = EShopType.ITEM;
        target   = null;

        AutoDestroy.destroyChildren(towerPanel, PlayNameHashIDs.Collider);
        towerPanel.transform.localPosition = Vector3.zero;
        towerPanel.GetComponent <UIPanel> ().clipOffset = Vector2.zero;

        setSpriteButton(EShopType.ITEM);

        int i = 0;

        foreach (System.Collections.Generic.KeyValuePair <string, ItemData> item in ReadDatabase.Instance.ItemInfo)
        {
            GameObject _itemShop = Instantiate(itemShopModel) as GameObject;
            _itemShop.transform.parent     = towerPanel.transform;
            _itemShop.transform.localScale = Vector3.one;

            UIAnchor anchor = _itemShop.GetComponent <UIAnchor>();
            anchor.container      = towerPanel.gameObject;
            anchor.relativeOffset = new Vector2(PlayConfig.TowerShopAnchor.PanelAnchorStart + i * PlayConfig.TowerShopAnchor.PanelAnchorDistance, 0);

            ItemShopController itemShopController = _itemShop.GetComponent <ItemShopController>();
            itemShopController.ID        = item.Key;
            itemShopController.ItemState = ItemManager.getItemState(item.Key);

            //set name
            string[] arr      = item.Value.Name.Split('-');
            string   text     = "";
            string   mainName = "";
            for (int k = 0; k < arr.Length; k++)
            {
                text     += arr[k];
                mainName += arr[k] + " ";
                if (k + 1 < arr.Length)
                {
                    text += "\n";
                }
            }
            text     = text.Trim();
            mainName = mainName.Trim();

            itemShopController.Name.text = text;
            itemShopController.MainName  = mainName;

            //set text value
            itemShopController.Value.text = item.Value.ValueText;

            //set background stretch
            foreach (Transform child in _itemShop.transform)
            {
                if (child.name == "Background")
                {
                    child.GetComponent <UIStretch>().container = towerPanel;
                    break;
                }
            }

            //set icon
            itemShopController.icon.spriteName = "item-" + item.Key.ToLower();
            itemShopController.setColor(false);

            itemShopController.icon.keepAspectRatio = UIWidget.AspectRatioSource.Free;
            itemShopController.icon.SetDimensions(itemShopController.icon.mainTexture.width, itemShopController.icon.mainTexture.height);
            itemShopController.icon.keepAspectRatio = UIWidget.AspectRatioSource.BasedOnHeight;

            UIStretch uiStretch = itemShopController.icon.GetComponent <UIStretch>();
            uiStretch.enabled = true;

            if (target == null)
            {
                target = _itemShop;
            }

            i++;
        }
        if (target != null)
        {
            target.GetComponentInChildren <ItemShopController>().setColor(true);
        }

        loadInfoItem();
    }
    void Awake()
    {
        if (levelLoader == null)
        {
            levelLoader = FindObjectOfType <LevelLoader>();
        }
        if (diceController == null)
        {
            diceController = FindObjectOfType <DiceController>();
        }
        if (blockController == null)
        {
            blockController = FindObjectOfType <BlockController>();
        }
        if (itemController == null)
        {
            itemController = FindObjectOfType <ItemController>();
        }
        if (noDiceNoCoinController == null)
        {
            noDiceNoCoinController = FindObjectOfType <NoDiceNoCoinController>();
        }
        if (speicalBlockController == null)
        {
            speicalBlockController = FindObjectOfType <SpeicalBlockController>();
        }
        if (statisticsController == null)
        {
            statisticsController = FindObjectOfType <StatisticsController>();
        }
        if (resetDiceController == null)
        {
            resetDiceController = FindObjectOfType <ResetDiceController>();
        }
        if (uiController == null)
        {
            uiController = FindObjectOfType <UIController>();
        }
        if (heartShopController == null)
        {
            heartShopController = FindObjectOfType <HeartShopController>();
        }
        if (itemShopController == null)
        {
            itemShopController = FindObjectOfType <ItemShopController>();
        }
        if (diamondShopController == null)
        {
            diamondShopController = FindObjectOfType <DiamondShopController>();
        }
        if (startController == null)
        {
            startController = FindObjectOfType <StartController>();
        }
        if (newHeartController == null)
        {
            newHeartController = FindObjectOfType <NewHeartController>();
        }
        if (diamondController == null)
        {
            diamondController = FindObjectOfType <DiamondController>();
        }
        if (iAPManager == null)
        {
            iAPManager = FindObjectOfType <IAPManager>();
        }
        if (rewardController == null)
        {
            rewardController = FindObjectOfType <RewardController>();
        }
        if (this.name != Constants.GAME_OBJECT_NAME.STAGE.CLONED_BLOCK)
        {
            cameraShakersForPlate = FindObjectsOfType <CameraShaker>();
        }

        _initialize();
    }