void Start()
    {
        winnerShower.SetActive(false);
        //init deck
        deck       = new List <Card>();
        playerHand = new List <Card>();
        aiHand     = new List <Card>();
        playerSaid = new List <Card>();
        aiSaid     = new List <Card>();
        aiKnown    = new List <Card>();
        gameStatus = GameStatus.Continue;

        if (cardObjManager == null)
        {
            cardObjManager = GetComponent <CardObjectManager>();
        }

        gameStart = false;

        Card.Color[] cardColors = { Card.Color.Black, Card.Color.White };
        foreach (var cardColor in cardColors)
        {
            for (int i = 0; i <= 11; i++)
            {
                deck.Add(new Card(cardColor, i));
            }
        }

        //init hands
        for (int i = 0; i < 4; i++)
        {
            playerHand.Add(DrawCard());
            aiHand.Add(DrawCard());
        }
        playerHand.Sort(CompareCard);
        aiHand.Sort(CompareCard);

        /*
         * foreach(var c in playerHand){
         *  Debug.LogFormat("{0}{1}", c.color, c.number);
         * }
         */
        aiKnown.AddRange(aiHand);
        IEnumerator flow = GameFlow();

        Debug.Log("Init Game!");
        StartCoroutine(flow);
    }
Exemple #2
0
    public void SetCardData(CardData data)
    {
        if (!cardObjectManager)
        {
            cardObjectManager = cacheTransform.parent.GetComponent <CardObjectManager>();
        }

        cardData = data;

        // カード名
        cardNameText.text = data.cardName;
        // カード画像
        //cardSprite.sprite = data.image;
        cardImageRenderer.materials[0].SetTexture("_MainTex", data.image.texture);

        switch (data.cardType)
        {
        case CardType.Fighter:
        {
            // フレーム差し替え
            if (cardObjectManager)
            {
                if (cardFrameRenderer.materials[0].GetTexture("_MainTex") != cardObjectManager.strikerFrame)
                {
                    cardFrameRenderer.materials[0].SetTexture("_MainTex", cardObjectManager.strikerFrame);
                }
            }

            fighterPowerFrame.gameObject.SetActive(true);

            var fighter = data.GetFighterCard();
            // パワー
            powerNumber.SetNumber(data.power);
            // 種族
            syuzokuText.text = CardDataBase.SyuzokuString[(int)fighter.syuzokus[0]];
            for (int i = 1; i < fighter.syuzokus.Length; i++)
            {
                syuzokuText.text += " / " + CardDataBase.SyuzokuString[(int)fighter.syuzokus[i]];
            }
        }
        break;

        case CardType.AbilityFighter:
        {
            // フレーム差し替え
            if (cardObjectManager)
            {
                if (cardFrameRenderer.materials[0].GetTexture("_MainTex") != cardObjectManager.abilityStrikerFrame)
                {
                    cardFrameRenderer.materials[0].SetTexture("_MainTex", cardObjectManager.abilityStrikerFrame);
                }
            }

            fighterPowerFrame.gameObject.SetActive(true);

            var fighter = data.GetFighterCard();
            // パワー
            powerNumber.SetNumber(data.power);
            // 種族
            syuzokuText.text = CardDataBase.SyuzokuString[(int)fighter.syuzokus[0]];
            for (int i = 1; i < fighter.syuzokus.Length; i++)
            {
                syuzokuText.text += " / " + CardDataBase.SyuzokuString[(int)fighter.syuzokus[i]];
            }
        }
        break;

        case CardType.Joker:
            // フレーム差し替え
            if (cardObjectManager)
            {
                if (cardFrameRenderer.materials[0].GetTexture("_MainTex") != cardObjectManager.jokerFrame)
                {
                    cardFrameRenderer.materials[0].SetTexture("_MainTex", cardObjectManager.jokerFrame);
                }
            }
            fighterPowerFrame.gameObject.SetActive(true);
            powerNumber.SetNumber(0);
            syuzokuText.text = "ジョーカーカード";
            break;

        case CardType.Support:
            // フレーム差し替え
            if (cardObjectManager)
            {
                if (cardFrameRenderer.materials[0].GetTexture("_MainTex") != cardObjectManager.supportFrame)
                {
                    cardFrameRenderer.materials[0].SetTexture("_MainTex", cardObjectManager.supportFrame);
                }
            }
            fighterPowerFrame.gameObject.SetActive(false);
            syuzokuText.text = "サポートカード";
            //powerNumber.SetNumber(data.power);
            break;

        case CardType.Connect:
            // フレーム差し替え
            if (cardObjectManager)
            {
                if (cardFrameRenderer.materials[0].GetTexture("_MainTex") != cardObjectManager.eventFrame)
                {
                    cardFrameRenderer.materials[0].SetTexture("_MainTex", cardObjectManager.eventFrame);
                }
            }
            fighterPowerFrame.gameObject.SetActive(false);
            syuzokuText.text = "コネクトカード";
            //powerNumber.SetNumber(data.power);
            break;

        case CardType.Intercept:
            // フレーム差し替え
            if (cardObjectManager)
            {
                if (cardFrameRenderer.materials[0].GetTexture("_MainTex") != cardObjectManager.eventFrame)
                {
                    cardFrameRenderer.materials[0].SetTexture("_MainTex", cardObjectManager.eventFrame);
                }
            }
            fighterPowerFrame.gameObject.SetActive(false);
            syuzokuText.text = "インターセプトカード";
            //powerNumber.SetNumber(data.power);
            break;
        }
    }
Exemple #3
0
 public void Start(Player myPlayer, CardObjectManager objectManager)
 {
     player            = myPlayer;
     cardObjectManager = objectManager;
 }