Exemple #1
0
    public void CardTypeCheck()
    {
        count = deck.Count;

        //card123を初期化
        CardNull();

        //天皇を引く
        if (cardDataBase.YamahudaLists()[deck.drawcard - 1].GetSecondJob() == Card.SecondJob.Tennou && RuleCreate.instance.cardType[count] == 1)
        {
            CardEffectCheck();
        }
        //段付きを引く
        else if (cardDataBase.YamahudaLists()[deck.drawcard - 1].GetThirdJob() == Card.ThirdJob.Dantuki && RuleCreate.instance.cardType[count] == 2)
        {
            CardEffectCheck();
        }

        //武官を引く
        else if (cardDataBase.YamahudaLists()[deck.drawcard - 1].GetSecondJob() == Card.SecondJob.Bukan && RuleCreate.instance.cardType[count] == 3)
        {
            CardEffectCheck();
        }

        //弓持ちを引く
        else if (cardDataBase.YamahudaLists()[deck.drawcard - 1].GetThirdJob() == Card.ThirdJob.Yumimoti && RuleCreate.instance.cardType[count] == 4)
        {
            CardEffectCheck();
        }

        //偉い姫を引く
        else if (cardDataBase.YamahudaLists()[deck.drawcard - 1].GetOtherJob() == Card.OtherJob.GreatHime && RuleCreate.instance.cardType[count] == 5)
        {
            CardEffectCheck();
        }
        else
        {
            Debug.LogError(deck.drawcard);
            Debug.LogError(RuleCreate.instance.cardType[count]);
            Debug.LogError("この人の自作ルールがおかしい");
        }
    }
Exemple #2
0
    public void Draw1()
    {
        PlayerSkipImage();
        Yama1.transform.SetAsLastSibling();
        if (deck.cards1.Count > 0)//山札1があるとき
        {
            SoundManager.instance.SeApply(Se.cardOpen);

            //山札1がラストの時
            if (deck.cards1.Count < 1)
            {
                Yamahuda1.sprite = Resources.Load <Sprite>("Images/Null");
            }
            if (fieldEffectNum == 1 && deck.cards1.Count > 1)
            {
                deck.drawcard = deck.cards1[0];                          //0番目を引いたカードとして登録
                deck.cards1.RemoveAt(0);                                 //0番目を削除
                MasterList.instance.list[deck.Count].Add(deck.drawcard); //手札に追加
            }

            drowYama1     = true;
            deck.drawcard = deck.cards1[0]; //0番目を引いたカードとして登録
            deck.cards1.RemoveAt(0);        //0番目を削除


            Debug.LogError(deck.drawcard);
            //Hikihuda.sprite = Resources.Load<Sprite>("Images/MainCards/" + (deck.drawcard + 1));

            /// <summary>
            /// ここにスキル判別してifで囲む
            /// </summary>

            //デバッグ用
            if (cardDataBase.YamahudaLists()[deck.drawcard - 1].GetOtherJob() == Card.OtherJob.Debug)
            {
                MyRule.instance.DrawnNCards();
                drawType.text = "デバッグ";
            }


            /// <summary>
            /// ここにスキル判別してifで囲む
            /// </summary>

            if (ruleBreak == false)
            {
                //天皇を引く
                if (cardDataBase.YamahudaLists()[deck.drawcard - 1].GetSecondJob() == Card.SecondJob.Tennou &&
                    (RuleManager.instance.PlayerList[deck.Count].RuleList[0].RuleEfect[0] == 1 ||
                     RuleManager.instance.PlayerList[deck.Count].RuleList[0].RuleEfect[0] == 2))
                {
                    TennouDraw.instance.Tennou_Draw();
                    drawType.text = "天皇";
                }
                //段付きを引く
                else if (cardDataBase.YamahudaLists()[deck.drawcard - 1].GetThirdJob() == Card.ThirdJob.Dantuki &&
                         (RuleManager.instance.PlayerList[deck.Count].RuleList[0].RuleEfect[0] == 3 ||
                          RuleManager.instance.PlayerList[deck.Count].RuleList[0].RuleEfect[0] == 4))
                {
                    DantukiDraw.instance.Dantuki_Draw();
                    drawType.text = "段付き";
                }



                //武官を引くかつ武官スキルあり
                else if (cardDataBase.YamahudaLists()[deck.drawcard - 1].GetSecondJob() == Card.SecondJob.Bukan &&
                         (RuleManager.instance.PlayerList[deck.Count].RuleList[1].RuleEfect[0] == 1 ||
                          RuleManager.instance.PlayerList[deck.Count].RuleList[1].RuleEfect[0] == 2))
                {
                    BukanDraw.instance.Bukan_Draw();
                    drawType.text = "武官";
                }

                //弓持ちを引く
                else if (cardDataBase.YamahudaLists()[deck.drawcard - 1].GetThirdJob() == Card.ThirdJob.Yumimoti &&
                         RuleManager.instance.PlayerList[deck.Count].RuleList[1].RuleEfect[0] == 3)
                {
                    YumimotiDraw.instance.Yumimoti_Draw();
                    drawType.text = "弓持ち";
                }


                ////偉い姫を引く
                //else if (cardDataBase.YamahudaLists()[deck.drawcard - 1].GetOtherJob() == Card.OtherJob.GreatHime)
                //{
                //    GreatHimeDraw.instance.GreatHime_Draw();
                //}

                //蝉丸を引く
                else if (cardDataBase.YamahudaLists()[deck.drawcard - 1].GetSecondJob() == Card.SecondJob.Semimaru &&
                         RuleManager.instance.PlayerList[deck.Count].RuleList[2].RuleEfect[0] >= 1)
                {
                    SemimaruDraw.instance.Semimaru_Draw();
                    drawType.text = "蝉丸";
                }

                //自作ルール(天皇)
                else if (RuleCreate.instance.myRule[deck.Count] == true && RuleCreate.instance.cardType[deck.Count] == 1 &&
                         cardDataBase.YamahudaLists()[deck.drawcard - 1].GetSecondJob() == Card.SecondJob.Tennou)
                {
                    MyRule.instance.CardTypeCheck();
                    drawType.text = "天皇";
                }

                //自作ルール(段付き)
                else if (RuleCreate.instance.myRule[deck.Count] == true && RuleCreate.instance.cardType[deck.Count] == 2 &&
                         cardDataBase.YamahudaLists()[deck.drawcard - 1].GetThirdJob() == Card.ThirdJob.Dantuki)
                {
                    MyRule.instance.CardTypeCheck();
                    drawType.text = "段付き";
                }

                //自作ルール(武官)
                else if (RuleCreate.instance.myRule[deck.Count] == true && RuleCreate.instance.cardType[deck.Count] == 3 &&
                         cardDataBase.YamahudaLists()[deck.drawcard - 1].GetSecondJob() == Card.SecondJob.Bukan)
                {
                    MyRule.instance.CardTypeCheck();
                    drawType.text = "武官";
                }

                //自作ルール(弓持ち)
                else if (RuleCreate.instance.myRule[deck.Count] == true && RuleCreate.instance.cardType[deck.Count] == 4 &&
                         cardDataBase.YamahudaLists()[deck.drawcard - 1].GetThirdJob() == Card.ThirdJob.Yumimoti)
                {
                    MyRule.instance.CardTypeCheck();
                    drawType.text = "弓持ち";
                }

                //自作ルール(偉い姫)
                else if (RuleCreate.instance.myRule[deck.Count] == true && RuleCreate.instance.cardType[deck.Count] == 5 &&
                         cardDataBase.YamahudaLists()[deck.drawcard - 1].GetOtherJob() == Card.OtherJob.GreatHime)
                {
                    MyRule.instance.CardTypeCheck();
                    drawType.text = "偉い姫";
                }

                //坊主を引く
                else if (cardDataBase.YamahudaLists()[deck.drawcard - 1].GetFirstJob() == Card.FirstJob.Bouzu)
                {
                    NormalDraw.instance.Bouzu_Draw();
                    drawType.text = "坊主";
                }
                //姫を引く
                else if (cardDataBase.YamahudaLists()[deck.drawcard - 1].GetFirstJob() == Card.FirstJob.Hime)
                {
                    NormalDraw.instance.Hime_Draw();
                    drawType.text = "姫";
                }
                else
                {
                    NormalDraw.instance.Tono_Draw();
                    drawType.text = "殿";
                    // Debug.LogError("カードの種類がおかしい");
                }
            }
            else
            {
                TrueEffect();
                drawType.text = "無効";
                // Debug.LogError("カードの種類がおかしい");
            }
            BukanDraw.instance.ReverseRotation();
            TextChange();
            DrawTotalNum();
        }
        //山札2にカードがある場合
        else if (deck.cards2.Count > 0)
        {
            //まだ片方の山札が残っているからそっちを引こう
        }
        else
        {
            SoundManager.instance.SeApply(Se.gameEnd);
            GameEnd();
        }
    }