예제 #1
0
        public static MysteriousItem GenerateItem(GameObject go)
        {
            MysteriousItem tempItem = new MysteriousItem();

            tempItem.itemObject = go;

            tempItem.buyBtn     = go.transform.FindChild("BuyBtn").GetComponent <Button>();
            tempItem.buyBtnText = go.transform.FindChild("BuyBtn/BuyBtnText").GetComponent <Text>();
            tempItem.tittleText = go.transform.FindChild("TittleImage/TittleText").GetComponent <Text>();
            tempItem.itemImage  = go.transform.FindChild("ItemImage").GetComponent <Image>();

            tempItem.discountText   = go.transform.FindChild("DiscountImage/DiscountText").GetComponent <Text>();
            tempItem.discountObject = go.transform.FindChild("DiscountImage").gameObject;
            tempItem.discountObject.SetActive(false);

            tempItem.m_HavePay          = go.transform.FindChild("HavePayImage").gameObject;
            tempItem.m_HavePayText      = go.transform.FindChild("HavePayImage/HavePayText").GetComponent <Text>();
            tempItem.m_OldPrice         = go.transform.FindChild("PriceLayout/OldPrice").gameObject;
            tempItem.m_OldResourceImage = go.transform.FindChild("PriceLayout/OldPrice/OldResourceImage").GetComponent <Image>();
            tempItem.m_OldPriceText     = go.transform.FindChild("PriceLayout/OldPrice/OldPriceText").GetComponent <Text>();
            tempItem.m_ResourceImage    = go.transform.FindChild("PriceLayout/Price/ResourceImage").GetComponent <Image>();
            tempItem.m_PriceText        = go.transform.FindChild("PriceLayout/Price/PriceText").GetComponent <Text>();
            tempItem.m_DescriptionText  = go.transform.FindChild("DescriptionText").GetComponent <Text>();
            return(tempItem);
        }
예제 #2
0
        public void InitItem(MysteriousItem item)
        {
            item.buyBtnText.text = GameUtils.getString("common_button_purchase");

            string stringTemp = mysteriousshopTemplate.getCommodityName();//获得商品名称描述在05表中的索引 != "-1"

            if (stringTemp != string.Empty)
            {
                item.tittleText.text = GameUtils.getString(stringTemp);
            }
            else
            {
                item.tittleText.text = "表中无名";
            }
            stringTemp = mysteriousshopTemplate.getCommodityDes();
            if (stringTemp != string.Empty)
            {
                item.m_DescriptionText.text = GameUtils.getString(stringTemp);
            }
            else
            {
                item.m_DescriptionText.text = "表中无描述";
            }

            stringTemp = mysteriousshopTemplate.getCommodityresource();
            Sprite sprite;

            if (stringTemp != string.Empty)
            {
                sprite = UIResourceMgr.LoadSprite(common.defaultPath + stringTemp);
            }
            else
            {
                sprite = UIResourceMgr.LoadSprite(common.defaultPath + itemTemplate.getIcon());
            }

            ItemTypeProcess(item, sprite);

            sprite = GameUtils.GetSpriteByResourceType(mysteriousshopTemplate.getCostType());
            if (sprite != null)
            {
                item.m_OldResourceImage.sprite = sprite;
                item.m_ResourceImage.sprite    = sprite;
            }
            item.m_PriceText.text    = price.ToString();
            item.m_OldPriceText.text = price.ToString();

            bool _havePay = isopen != 0;

            item.buyBtn.enabled = !_havePay;
            item.m_HavePay.SetActive(_havePay);
            item.discountObject.SetActive(!_havePay);
            GameUtils.SetBtnSpriteGrayState(item.buyBtn, _havePay);

            item.m_OldPrice.SetActive(false);
            item.buyBtn.gameObject.SetActive(false);
        }
예제 #3
0
        public void InitSelfItem(MysteriousItem item)
        {
            this.m_Item = item;

            InitItem(item);

            if (SetCurrentId != null)
            {
                item.buyBtn.gameObject.SetActive(true);
                item.buyBtn.onClick.AddListener(new UnityEngine.Events.UnityAction(OnClickBuyBtn));
            }
        }
예제 #4
0
    public override void InitUIData()
    {
        base.InitUIData();

        timeTextBuilder      = new StringBuilder();
        m_ConfirmItem        = MysteriousItem.GenerateItem(selfTransform.FindChild("ConfirmPanel/Item").gameObject);
        m_CostImage          = selfTransform.FindChild("ConfirmPanel/PlayerWalletText/CostImage").GetComponent <Image>();
        originItem           = selfTransform.FindChild("OriginPanel/OriginItem").gameObject;
        itemListLayout       = selfTransform.FindChild("ItemList/ListLayout").gameObject;
        confirmPanel         = selfTransform.FindChild("ConfirmPanel").gameObject;
        m_CaptionLayoutPoint = selfTransform.FindChild("CaptionLayout");
        battleStageMgr       = ObjectSelf.GetInstance().BattleStageData;

        m_Time = battleStageMgr.m_SpecialStage.m_Time;

        GameEventDispatcher.Inst.addEventListener(GameEventID.UI_MysteriousShopBuyReplay, PayHandler);
    }
예제 #5
0
        private void ItemTypeProcess(MysteriousItem mysteriousItem, Sprite icon)
        {
            if (GameUtils.GetObjectClassById(itemTemplate.getId()) != EM_OBJECT_CLASS.EM_OBJECT_CLASS_RUNE)
            {
                mysteriousItem.itemImage.enabled = true;
                if (icon != null)
                {
                    mysteriousItem.itemImage.sprite = icon;
                }
                if (mysteriousItem.m_RuneTrans != null)
                {
                    mysteriousItem.m_RuneTrans.gameObject.SetActive(false);
                }
                return;
            }

            if (mysteriousItem.m_RuneTrans == null)
            {
                GameObject go = UIResourceMgr.LoadPrefab(common.prefabPath + "UI_Rune/RuneIconItem") as GameObject;
                go = GameObject.Instantiate(go, mysteriousItem.itemImage.transform.position, mysteriousItem.itemImage.transform.rotation) as GameObject;
                mysteriousItem.m_RuneTrans = go.transform;
                mysteriousItem.m_RuneTrans.SetParent(mysteriousItem.itemImage.transform);
                mysteriousItem.m_RuneTrans.localScale = Vector3.one * 2;
                mysteriousItem.m_RuneIconItem         = new RuneIconItem(mysteriousItem.m_RuneTrans);
            }
            mysteriousItem.m_RuneTrans.gameObject.SetActive(true);
            mysteriousItem.itemImage.enabled = false;

            int _runeType = itemTemplate.getRune_type();

            if (_runeType == 5 || _runeType == 6)
            {
                mysteriousItem.m_RuneIconItem.SetIsSpecial(true);
            }
            else
            {
                mysteriousItem.m_RuneIconItem.SetRuneType(_runeType);
            }
//            item.m_RuneIconItem.SetRuneType();
//            item.m_RuneIconItem.SetIsSpecial(data.getType() == 3);
            mysteriousItem.m_RuneIconItem.SetLevelInfoActive(false);
            if (icon != null)
            {
                mysteriousItem.m_RuneIconItem.SetIcon(icon);
            }
        }
예제 #6
0
    //private int SortHandler(ItemData leftItem,ItemData rightItem)
    //{
    //    return leftItem.mysteriousshopTemplate.getSorting() - rightItem.mysteriousshopTemplate.getSorting();
    //}

    private MysteriousItem CreatItem()
    {
        if (itemListLayout == null || originItem == null)
        {
            //Debug.Log("神秘商店面板:无法找到子物体:itemListLayout和originItem");
            return(null);
        }

        GameObject go = Instantiate(originItem, itemListLayout.transform.position, itemListLayout.transform.rotation) as GameObject;

        go.transform.SetParent(itemListLayout.transform);
        go.transform.localScale = Vector3.one;

        var item = MysteriousItem.GenerateItem(go);

        item.buyBtn.onClick.AddListener(new UnityEngine.Events.UnityAction(OnClickBuyBtn));
        return(item);
    }