示例#1
0
    //=============================================================================

    public void SetupPanel(eSelectedCardMode SelectedCardMode, TradingCardSpreadsheetItem CurCard, int CurrentPosition, int NumMint, int NumScuffed)
    {
        m_NumMint          = NumMint;
        m_NumScuffed       = NumScuffed;
        m_CurrentPosition  = CurrentPosition;
        m_CurCard          = CurCard;
        m_SelectedCardMode = SelectedCardMode;
    }
示例#2
0
    //=====================================================

    void UpdateViewingBook()
    {
        // Update sprite that shows which page type we're on
        eTradingCardClassification VisibleClassification = TradingCardItemsManager.GetPageClassification(BookManager.instance.GetCurrentPage());

        foreach (GameObject sprClassification in m_sprPageTypes)
        {
            if (sprClassification != null)
            {
                sprClassification.SetActive(false);
            }
        }
        m_sprPageTypes[(int)VisibleClassification].SetActive(true);

        // Set the page shortcuts for this classification (prev/next)
        int PrevCategory = (int)VisibleClassification - 1;
        int NextCategory = (int)VisibleClassification + 1;

        // Skip 'story' class
        if (VisibleClassification == eTradingCardClassification.STANDARD)
        {
            PrevCategory--;
        }
        if (VisibleClassification == eTradingCardClassification.WILD)
        {
            NextCategory++;
        }

        //m_txtCategoryPrev.text = GetCategoryText( (eTradingCardClassification)PrevCategory );
        //m_txtCategoryNext.text = GetCategoryText( (eTradingCardClassification)NextCategory );

        // Check for swiping
        if (BookManager.instance.IsPageTurning())
        {
            return;
        }

        // Update area scrolling list position
        if (m_bSwiping)
        {
            m_SwipeTime      += Time.deltaTime;
            m_SwipeTimeAccum += Time.deltaTime;
            Vector3 WorldPos = m_BookCamera.ScreenToViewportPoint(Input.mousePosition);
            WorldPos *= 384.0f;
            float SwipingDeltaX = WorldPos.x - m_SwipingStartX;

            m_SwipingAccel = (WorldPos - m_LastWorldPos[3]).x;

            if (m_SwipeTimeAccum > (1.0f / 60.0f))
            {
                for (int MIdx = 3; MIdx > 0; MIdx--)
                {
                    m_LastWorldPos[MIdx] = m_LastWorldPos[MIdx - 1];
                }
                m_LastWorldPos[0] = WorldPos;
                m_SwipeTimeAccum -= (1.0f / 60.0f);
            }

            if (Input.GetMouseButtonUp(0))
            {
                m_bSwiping = false;

                m_SwipingAccel = Mathf.Clamp(m_SwipingAccel, -12.0f, 12.0f);

                bool bMinimumDistTravelled = true;

                if (Mathf.Abs(SwipingDeltaX) < 28.0f)
                {
                    bMinimumDistTravelled = false;
                }

                //Debug.Log( m_SwipingAccel + " " + bMinimumDistTravelled );
                if ((Mathf.Abs(m_SwipingAccel) < 7.0f) || (bMinimumDistTravelled == false))
                {
                    // No swipe - selection of a card?
                    m_SwipingAccel = 0.0f;
                    if ((m_SwipeTime < 0.25f) && (bMinimumDistTravelled == false))
                    {
                        // Selected card - check collision
                        int CurrentPage     = BookManager.instance.GetCurrentPage();
                        int CurrentPosition = BookManager.instance.GetPositionAtMouse();

                        // For first and last pages don't allow card selection
                        if (BookManager.instance.IsValidPage() == false)
                        {
                            CurrentPosition = -1;
                        }

                        if (CurrentPosition != -1)
                        {
                            // Valid card?
                            bool bValidCard = true;
                            TradingCardSpreadsheetItem CurSpreadsheetCard = TradingCardItemsManager.GetTradingCardItem(CurrentPage, CurrentPosition);
                            if (CurSpreadsheetCard == null)
                            {
                                bValidCard = false;
                            }

                            if (bValidCard)
                            {
                                // Set buy/sell mode based on whether we have the card or not
                                int NumMint    = 0;
                                int NumScuffed = 0;
                                TradingCardHeldItem CurHeldCard = GameDataManager.Instance.GetHeldTradingCard(CurSpreadsheetCard.id, ref NumMint, ref NumScuffed);

                                if (CurHeldCard != null)
                                {
                                    m_SelectedCardMode = eSelectedCardMode.Selling;
                                }
                                else
                                {
                                    m_SelectedCardMode = eSelectedCardMode.Buying;
                                }

                                // Show selected card panel
                                SelectedCardManager.instance.SetupPanel(m_SelectedCardMode, CurSpreadsheetCard, CurrentPosition, NumMint, NumScuffed);
                                SelectedCardManager.instance.ShowPanel(true);
                                SetRoomMode(eRoomMode.SelectedCard);

                                SoundFXManager.instance.PlaySound("CardSelect");


                                // Hide this card on the book so we can zoom into it
                                BookManager.instance.HideCard(CurrentPage, CurrentPosition);
                            }
                        }
                    }
                }
                else
                {
                    // Quick Swipe
                    if (m_SwipingAccel < 0.0f)
                    {
                        BookManager.instance.TurnPage(1);
                        SoundFXManager.instance.PlaySound("PageTurn");
                    }
                    else
                    {
                        BookManager.instance.TurnPage(-1);
                        SoundFXManager.instance.PlaySound("PageTurn");
                    }

                    m_SwipingAccel = 0.0f;
                }
            }
        }
        else
        {
            // Not swiping
            Vector3 WorldPos = m_BookCamera.ScreenToViewportPoint(Input.mousePosition);
            WorldPos *= 384.0f;
            for (int MIdx = 3; MIdx > 0; MIdx--)
            {
                m_LastWorldPos[MIdx] = WorldPos;
            }

            m_SwipingStartX  = WorldPos.x;
            m_SwipeTimeAccum = 0.0f;

            // Make sure pause menu or shop menu isn't active
            if ((PopupPause.Instance.IsActive == false) && (ShopManager.instance == false))
            {
                if (Input.GetMouseButtonDown(0))
                {
                    if ((WorldPos.y > 48.0f) && (WorldPos.y < 323.0f))
                    {
                        m_bSwiping     = true;
                        m_SwipingAccel = 0.0f;
                        m_SwipeTime    = 0.0f;
                    }
                }
            }
        }
    }