Esempio n. 1
0
    public void EnableChoice()
    {
        CurStep          = eCHOICE_STEP.None;
        ViewSelectIndex  = -1;
        ThrowSelectIndex = -1;
        gameObject.SetActive(true);
        ThrowText.SetActive(true);
        OpenText.SetActive(false);

        for (int i = CardList.Count - 1; i >= 0; --i)
        {
            Destroy(CardList[i].gameObject);
        }
        CardList.Clear();

        PlayerBase player = GameSingleton.GetPlay().ToSevenPoker().GetMyPlayer();
        var        list   = player.CardList;

        assert.set(list.Count == 4);
        for (int i = 0; i < list.Count; ++i)
        {
            CardInfo_Trump info = new CardInfo_Trump();
            info.Clone(list[i]);
            info.EnableSelectBtn = true;

            Card_Base cardClass = GameSingleton.GetPlay().CreateCard(CardSetTr, info);
            cardClass.SetSelectBtnDelegate(OnClick_ChoiceCard, i);
            cardClass.ToTrump().SetBackBtnDelegate(OnClick_ChoiceCard, i);
            CardList.Add(cardClass);
        }
    }
Esempio n. 2
0
    public void OnClick_ChoiceCard(int ChoiceIndex)
    {
        assert.set(ChoiceIndex < 4);
        assert.set(ChoiceIndex >= 0);

        switch (CurStep)
        {
        case eCHOICE_STEP.None:
        {
            CurStep          = eCHOICE_STEP.ThrowSelect;
            ThrowSelectIndex = ChoiceIndex;

            Card_Base cardClass = CardList[ChoiceIndex];

            cardClass.SetCardView(PlayTypes.CardView.Back);
            cardClass.SetEnableSelectBtn(false);
            cardClass.ToTrump().SetEnableBackBtn(true);

            ThrowText.SetActive(false);
            OpenText.SetActive(true);
        }
        break;

        case eCHOICE_STEP.ThrowSelect:
        {
            if (ThrowSelectIndex == ChoiceIndex)
            {
                Card_Base cardClass = CardList[ChoiceIndex];
                cardClass.SetCardView(PlayTypes.CardView.Front);
                cardClass.SetEnableSelectBtn(true);
                cardClass.ToTrump().SetEnableBackBtn(false);

                ThrowText.SetActive(true);
                OpenText.SetActive(false);

                CurStep          = eCHOICE_STEP.None;
                ThrowSelectIndex = -1;
            }
            else
            {
                CurStep         = eCHOICE_STEP.ViewSelect;
                ViewSelectIndex = ChoiceIndex;

                // 버리고 나서의 선택카드 인덱싱 - 서버 전달 헷갈리지 말자
                if (ViewSelectIndex > ThrowSelectIndex)
                {
                    --ViewSelectIndex;
                }
                GameSingleton.GetPlay().ToSevenPoker().Send_ChoiceComplete(ThrowSelectIndex, ViewSelectIndex);
            }
        }
        break;
        }
    }