Exemple #1
0
    // 無しのカードを入れる
    public void MissingCard()
    {
        CardData data = CardDataBase.GetCardData((int)IDType.NONE);// 欠番

        // (11/14) -1を入れるとなしカードが欲しい この関数いらん
        SetCardData(data);

        // □えうれしあを消す
        gameObject.SetActive(false);
    }
Exemple #2
0
    private void Start()
    {
        cardData = CardDataBase.GetCardData(iDtype, number);
        var text = GetComponentInChildren <TMPro.TextMeshPro>();

        text.text = IDName[iDtype] + "." + number;
        if (OnCardClick == null)
        {
            OnCardClick = new UEventCard();
        }
    }
Exemple #3
0
    public void Marigan(SyncDeckInfo syncData)
    {
        Clear();

        foreach (int yamahudaID in syncData.yamahuda)
        {
            if (yamahudaID == -1)
            {
                break;
            }
            yamahuda.Add(CardDataBase.GetCardData(yamahudaID));
        }

        cardObjectManager.Marigan(yamahuda.ToArray());
    }
Exemple #4
0
    public void Sync(SyncDeckInfo syncData)
    {
        Clear();
        //foreach (int handID in syncData.hand)
        //{
        //    if (handID == -1) break;
        //    hand.Add(CardDataBase.GetCardData(handID));
        //}
        foreach (int yamahudaID in syncData.yamahuda)
        {
            if (yamahudaID == -1)
            {
                break;
            }
            // ★★★嫌な予感がする…(参照)
            //var cardData = new CardData();
            //cardData = CardDataBase.GetCardData(yamahudaID);
            //var abilityData = cardData.GetAbilityData();
            //if(abilityData != null)
            //{
            //    abilityData.SetMyPlayerFlag(player.isMyPlayer);
            //}

            var cardData = CardDataBase.GetCardData(yamahudaID);
            yamahuda.Add(cardData);
        }
        //foreach (int bochiID in syncData.bochi)
        //{
        //    if (bochiID == -1) break;
        //    bochi.Add(CardDataBase.GetCardData(bochiID));
        //}
        //foreach (int tuihouID in syncData.tuihou)
        //{
        //    if (tuihouID == -1) break;
        //    tsuihou.Enqueue(CardDataBase.GetCardData(tuihouID));
        //}

        // 向こうから来るやつにつかう
        cardObjectManager.SetDeckData(yamahuda.ToArray(), player.isMyPlayer);

        // その情報をもとにカードオブジェクト更新
        //cardObjectManager.UpdateHand(hand, player);
        //cardObjectManager.UpdateYamahuda(yamahuda, player);
    }
Exemple #5
0
    public void SetDeckData(PlayerDeckData deckData, bool updateCardObject = true)
    {
        Clear();

        int[] cardID = deckData.GetArray();
        // デッキデータを山札に入れていく
        foreach (int id in cardID)
        {
            if (id != (int)IDType.NONE)
            {
                //// ★★★嫌な予感がする…(参照)
                //var cardData = new CardData();
                //cardData = CardDataBase.GetCardData(id);
                //var abilityData = cardData.GetAbilityData();
                //if (abilityData != null)
                //{
                //    abilityData.SetMyPlayerFlag(player.isMyPlayer);
                //}

                var cardData = CardDataBase.GetCardData(id);
                yamahuda.Add(cardData);

                //// 所持効果持ちファイターを保存
                //if (cardData.cardType == CardType.AbilityFighter )
                //{
                //    haveAbilityCards.Add(cardData);
                //}
            }
        }
        //foreach (CardData card in deckData.eventCards)
        //{
        //    if (card == null) continue;
        //    yamahuda.Enqueue(card);
        //}
        //yamahuda.Enqueue(deckData.jorkerCard);
        // 山札シャッフル
        Shuffle(ref yamahuda);

        if (updateCardObject)
        {
            cardObjectManager.SetDeckData(yamahuda.ToArray(), player.isMyPlayer);
        }
    }
Exemple #6
0
    public void SarchAbilityCards(PlayerDeckData deckData)
    {
        haveAbilityCards.Clear();

        int[] cardID = deckData.GetArray();

        // デッキデータを山札に入れていく
        foreach (int id in cardID)
        {
            if (id != (int)IDType.NONE)
            {
                var cardData = CardDataBase.GetCardData(id);

                // 所持効果持ちファイターを保存
                if (cardData.cardType == CardType.AbilityFighter)
                {
                    haveAbilityCards.Add(cardData);
                }
            }
        }
    }
Exemple #7
0
    // Use this for initialization
    void Start()
    {
        SelectData.iDeckCollectLineNo = 0;

        //TouchCardObj.GetComponent<uGUICard>().SetCardData(CardDataBase.GetCardData(4));
        //Arrow.SetActive(false);

        m_vTapPos     = new Vector3(0, 0, 0);
        m_vCurrentPos = new Vector3(0, 0, 0);

        m_bCardTap = false;

        // (TODO)(A列車)システム初期化  を全て共通に
        oulSystem.Initialize();

        //  BGM
        oulAudio.PlayBGM("CollectionBGM", true);

        // カードのデータベースを初期化
        //CardDataBase.Start();

        CardData data = CardDataBase.GetCardData(3);            // ID0番目のカードデータを取ってくる。

        CardData[] all  = CardDataBase.GetDeckSortedCardData(); // カード情報を全て取得する。1/12 デッキ選択用のソートした配列を取得
        int        size = all.Length;                           // カードの最大数

        // ★Findは非アクティブ状態ではとれないから取ってから消すやで
        //m_uGraspCard=gameObject
        //m_uGraspCard = GameObject.Find("Canvas/uGUICard");    //.GetComponent<uGUICard>();
        m_uGraspCard.GetComponent <uGUICard>().SetCardData(data);
        //m_uGraspCard.GetComponent<Ripple>().SetAlpha(1.0f); // 透明に
        m_uGraspCard.SetActive(false);                        // 取得したから消すやで


        for (int i = 0; i < PlayerDeckData.deckMax; i++)
        {
            // 変更前
            // m_pCardPlateArray[i] = (GameObject)Instantiate(CardPlatePrefab);
            // m_pCardPlateArray[i].transform.SetParent(, false);

            /*
             * 差異としては、as句の方が高速であることと、失敗時にキャスト演算は例外を発生させas句はnullを返します。
             * 例外は処理するのにもコストがかかるので、特別な事が無い限りはこの場合as句を利用するのが良いです。
             */

            // 変更後
            //m_aCardPlate[i] = Instantiate(CardPlatePrefab, DeckCardGroup.transform) as GameObject;
            m_aMyDeckCard[i] = Instantiate(CardPrefab, DeckCardGroup.transform) as GameObject;
            m_aMyDeckCard[i].GetComponent <uGUICard>().SetMyDeck(true);// ★★★このカードは自分のデッキかどうか

            int StartX = 100; int StartY = 130;
            //m_aCardPlate[i].transform.localPosition = new Vector2(StartX + (150 * (i % 5)), StartY + (i / 5) * -185);
            m_aMyDeckCard[i].transform.localPosition = new Vector2(StartX + (150 * (i % 5)), StartY + (i / 5) * -185);

            // マイデッキ
            m_aMyDeckCard[i].GetComponent <ScreenOutAppeared>().SetNextPos(new Vector3(StartX + (150 * (i % 5)), StartY + (i / 5) * -185, 0.0f));
        }



        // (TODO)自分のデッキやで 仮0スロット目のデッキのカードのID取得
        int[] myDeckID = PlayerDataManager.GetPlayerData().GetDeckData(0).GetArray();

        // ★デッキデータ
        for (int i = 0; i < PlayerDeckData.deckMax; i++)
        {
            // (11/13)(TODO)取得したデータが何も書かれていなかったら
            // SetActiveで消す

            int id = myDeckID[i];
            //CardType type = CardType.Fighter;
            m_aMyDeckCard[i].GetComponent <uGUICard>().SetCardData(CardDataBase.GetCardData(id)); //;= strikerCards[i];
        }

        // コレクション
        for (int i = 0; i < SelectData.DECK_COLLECTCARD_MAX; i++)
        {
            m_aCollectCard[i] = Instantiate(CardPrefab, CollectCardGroup.transform) as GameObject;

            int StartX = -620; int StartY = 128;
            m_aCollectCard[i].transform.localPosition = new Vector2(StartX + (150 * (i % 4)), StartY + (i / 4) * -185);

            m_aCollectCard[i].GetComponent <uGUICard>().SetCardData(all[i]);

            // (11/13)うんこソート
            // 先にデッキに入っていないカード状態に
            m_aCollectCard[i].GetComponent <uGUICard>().NotGrasp_Off();
            for (int i2 = 0; i2 < PlayerDeckData.deckMax; i2++)
            {
                // ★コレクションにあるカードがすでに被ってたら暗くするソート
                if (m_aCollectCard[i].GetComponent <uGUICard>().cardData.id == m_aMyDeckCard[i2].GetComponent <uGUICard>().cardData.id)
                {
                    // デッキに入っている状態
                    m_aCollectCard[i].GetComponent <uGUICard>().NotGrasp_On();
                    break;
                }
            } // ソート
        }     // forコレクション

        EventMANTAN();
        AbilityMANTAN();
        //// カードタイプ
        //if (CardDataBase.GetCardData(11).cardType == CardType.Fighter)
        //{
        //    int a = 0;
        //    a++;
        //}
        //if (CardDataBase.GetCardData(11).cardType == CardType.Intercept)
        //{
        //    int b = 0;
        //    b++;
        //}

        //m_aMyDeckCard[PlayerDeckData.numStriker].GetComponent<uGUICard>().SetCardData;//PlayerDeckData.jorkerCard;
        //for (int i = 0; i < PlayerDeckData.numEvent; i++)
        //{
        //    cards[numStriker + numJoker + i] = eventCards[i];
        //}



        // ステートマシンの初期化や切り替えは最後に行う
        m_pStateMachine = new BaseEntityStateMachine <SceneDeck>(this);

        m_pStateMachine.globalState = SceneDeckState.Global.GetInstance();
        m_pStateMachine.ChangeState(SceneDeckState.Intro.GetInstance());
        return;
    }