Пример #1
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);
    }
Пример #2
0
    public void InitCard(_stOTShopBuyAck recvData)
    {
        DestroyIcon();

        int RewardIconPos = 0;

        foreach (CItem item in recvData.vAddItems)
        {
            GuildRaidRewardIcon guildRaidRewardIcon = UIResourceMgr.CreatePrefab <GuildRaidRewardIcon>(BUNDLELIST.PREFABS_UI_GUILDRAID, _RewardIconPosList[RewardIconPos], "GuildRaidRewardIcon");
            guildRaidRewardIcon.gameObject.SetActive(false);
            guildRaidRewardIcon.InitItem(item);
            _RewardIconList.Add(guildRaidRewardIcon);

            RewardIconPos++;
        }

        foreach (CCreatureDetail creature in recvData.vAddCreatures)
        {
            GuildRaidRewardIcon guildRaidRewardIcon = UIResourceMgr.CreatePrefab <GuildRaidRewardIcon>(BUNDLELIST.PREFABS_UI_GUILDRAID, _RewardIconPosList[RewardIconPos], "GuildRaidRewardIcon");
            guildRaidRewardIcon.gameObject.SetActive(false);
            guildRaidRewardIcon.InitCreature(creature);
            _RewardIconList.Add(guildRaidRewardIcon);

            RewardIconPos++;
        }

        //foreach (_stShopWealth wealth in recvData.vCurrWealth)
        //{
        //    if (wealth.kWealthType != DATA_ITEM_SUB_TYPE_NEW._enItemStatusSubType.ITEMTYPE_MI_GUILDTOKEN && UserInfo.Instance.GetWealth(wealth.kWealthType) != wealth.kWealthCount)
        //    {
        //        GuildRaidRewardIcon guildRaidRewardIcon = UIResourceMgr.CreatePrefab<GuildRaidRewardIcon>(BUNDLELIST.PREFABS_UI_GUILDRAID, _RewardIconPosList[RewardIconPos], "GuildRaidRewardIcon");
        //        guildRaidRewardIcon.gameObject.SetActive(false);
        //        guildRaidRewardIcon.InitWealth(wealth);
        //        _RewardIconList.Add(guildRaidRewardIcon);

        //        RewardIconPos++;
        //    }
        //}

        // 연출 카메라 셋팅.
        {
            if (_GachaCardCamera == null)
            {
                _GachaCardCamera = UIResourceMgr.CreatePrefab <GachaCardCamera>(BUNDLELIST.PREFABS_ETC_GACHACARD, UIControlManager.instance.GUI3DObj.transform, "GachaCardCamera");
            }

            _GachaCardCamera.Init();
        }

        // 연출 뽑기상자 셋팅.
        {
            if (_GachaBox == null)
            {
                _GachaBox = UIResourceMgr.CreatePrefab <GachaBox>(BUNDLELIST.PREFABS_ETC_GUILDBOX, UIControlManager.instance.MainMenuBaseObj.transform, "Guildbox", SetTransformType.IgnoreValue);
            }

            _GachaBox.Init();
        }

        // 카메라 원본값 저장.
        {
            _3DCamera             = UIControlManager.instance.Camera3D;
            _3DCameraOriginPos    = _3DCamera.transform.localPosition;
            _3DCameraOriginRotion = _3DCamera.transform.localRotation;
            _3DGUITransform       = UIControlManager.instance.GUI3DObj.transform;
        }

        // 3D 연출을 하기 위해 카메라 변경.
        {
            _3DCamera.transform.parent        = _GachaCardCamera.transform;
            _3DCamera.transform.localPosition = _3DCameraGachaBoxPos;
            _3DCamera.transform.localRotation = _3DCameraGachaBoxRotion;

            //_GachaBox.transform.localPosition = Vector3.zero;
        }

        _GachaBox.gameObject.SetActive(false);
        StartCoroutine(GachaBoxAction(0.5f));
    }