Ejemplo n.º 1
0
    /// <summary>
    /// 상점 카드정보를 생성.
    /// </summary>
    /// <param name="recvData"></param>

    public void InitCard(_stShopBuyAck recvData)
    {
        _CardOpenType = CardOpenType.Shop;

        if (recvData.vAddCreatures.Count > 0)
        {
            _CardTotalCount = recvData.vAddCreatures.Count;
        }
        else if (recvData.vAddItems.Count > 0)
        {
            _CardTotalCount = recvData.vAddItems.Count;
        }

        CreateCard(recvData);
    }
Ejemplo n.º 2
0
    /// <summary>
    /// 뽑기 카드박스 생성
    /// </summary>
    /// <param name="recvData"></param>
    private void CreateCard(_stShopBuyAck recvData)
    {
        DATA_SHOP_NEW shopdata = CDATA_SHOP_NEW.Get(recvData.cShopBuyGood.kCategoryType, recvData.cShopBuyGood.kGoodsID);

        if (shopdata == null || shopdata.iPriceValue2 == 0)
        {
            _gachaType = enGachaType.One;
        }
        else
        {
            _gachaType = enGachaType.Continue;
            _reGachaButtonCountLabel.text = shopdata.iPriceValue2.ToString();
            _reGachaPriceValue            = shopdata.iPriceValue2;
        }

        ActiveCardPanel(false);
        _ExitPanelGameObject.gameObject.SetActive(false);
        _ExitLabel.gameObject.SetActive(false);
        _reGachaButton.SetActive(false);
        _exitButton.SetActive(false);

        if (_GachaCardCamera == null)
        {
            _GachaCardCamera = UIResourceMgr.CreatePrefab <GachaCardCamera>(BUNDLELIST.PREFABS_ETC_GACHACARD, UIControlManager.instance.GUI3DObj.transform, "GachaCardCamera");
        }

        _GachaCardCamera.Init();

        if (recvData.vAddCreatures != null && recvData.vAddCreatures.Count > 0)
        {
            _GachaBoxType = enGachaBoxType.Creature;
            if (_GachaCardBox == null)
            {
                _GachaCardBox = UIResourceMgr.CreatePrefab <GachaBox>(BUNDLELIST.PREFABS_ETC_GACHACARD, UIControlManager.instance.MainMenuBaseObj.transform, "GachaMonsterBox");
                _GachaCardBox.Init(recvData);
            }
        }
        else if (recvData.vAddItems != null && recvData.vAddItems.Count > 0)
        {
            _GachaBoxType = enGachaBoxType.Item;
            if (_GachaCardBox == null)
            {
                _GachaCardBox = UIResourceMgr.CreatePrefab <GachaBox>(BUNDLELIST.PREFABS_ETC_GACHACARD, UIControlManager.instance.MainMenuBaseObj.transform, "GachaBox");
                _GachaCardBox.Init(recvData);
            }
        }

        _GachaCardBox.CreateCard(recvData, OnCardOpenEvent, OnCardOpen3DEvent);
        _GachaCardBox.gameObject.SetActive(true);
        _GachaCardBox.Anim.Stop();
        _GachaCardBox.OpenEffect.SetActive(false);
        _GachaCardBox.EndEffect.SetActive(false);

        Set3DGachaCamera();

        if (_CardResult3D == null)
        {
            _CardResult3D = UIResourceMgr.CreatePrefab <CardResult3DElement>(BUNDLELIST.PREFABS_UI_CASHSHOP, this.transform.parent, "CardResult3DElement");
            _CardResult3D.Init(this, OnCardOpenEvent, SetAllCardOpenButton, Set3DResultCamera, Set3DGachaCamera);
        }

        _CardResult3D.CardClear();
        _CardResult3D.SetCardResult(recvData.vAddCreatures);
        _CardResult3D.CloseUI();

        if (_OpenPanelCoroutine != null)
        {
            StopCoroutine(_OpenPanelCoroutine);
            _OpenPanelCoroutine = null;
        }

        _OpenPanelCoroutine = IeOpenPanel(0.5f, _GachaCardBox.AnimLength);
        StartCoroutine(_OpenPanelCoroutine);
    }
Ejemplo n.º 3
0
    /// <summary>
    /// 메일함 카드정보를 생성.
    /// </summary>
    /// <param name="stMailReadAck"></param>
    public void InitCard(_stMailReadAck stMailReadAck)
    {
        _CardOpenType = CardOpenType.Mail;

        _CardTotalCount = 1;

        // 서버에서 준 데이터에서 크리쳐 정보를 찾는다.
        CCreatureDetail BoxAddCreateCreature = null;

        if (stMailReadAck.vItemBoxAddCreateCreature != null)
        {
            foreach (CCreatureDetail AddCreature in stMailReadAck.vItemBoxAddCreateCreature)
            {
                BoxAddCreateCreature = AddCreature;
                break;
            }
        }

        // 찾은 크리쳐로 연출 준비
        if (BoxAddCreateCreature != null)
        {
            _stShopBuyAck stShopBuyAck = new _stShopBuyAck();

            stShopBuyAck.cShopBuyGood          = new CShopGood();
            stShopBuyAck.cShopBuyGood.kPayType = DATA_ITEM_SUB_TYPE_NEW._enItemStatusSubType.ITEMTYPE_MI_DIA;       // 카드 뒷면 default

            stShopBuyAck.vAddCreatures = new _vCreatureDetail();
            stShopBuyAck.vAddCreatures.Add(BoxAddCreateCreature);

            CreateCard(stShopBuyAck);
        }

        // 서버에서 준 데이터에서 아이템 정보를 찾는다.
        CItem vItemBoxAddCreateItem = null;

        if (stMailReadAck.vItemBoxAddCreateItem != null)
        {
            foreach (CItem AddItem in stMailReadAck.vItemBoxAddCreateItem)
            {
                vItemBoxAddCreateItem = AddItem;
                break;
            }
        }

        // 아이템 연출 준비
        if (vItemBoxAddCreateItem != null)
        {
            _stShopBuyAck stShopBuyAck = new _stShopBuyAck();

            stShopBuyAck.cShopBuyGood          = new CShopGood();
            stShopBuyAck.cShopBuyGood.kPayType = DATA_ITEM_SUB_TYPE_NEW._enItemStatusSubType.ITEMTYPE_MI_DIA;       // 카드 뒷면 default

            stShopBuyAck.vAddItems = new _vItem();
            stShopBuyAck.vAddItems.Add(vItemBoxAddCreateItem);

            CreateCard(stShopBuyAck);
        }

        // 연출에 필요한 배경 지우기
        UIControlManager.instance.SetMainMenu_3DObject(false);
    }