Beispiel #1
0
    public void HitPlay()
    {
        SetTime(false);

        var temp = CardArithmetic.AutoPlay(mCardData, ControllerManage.Instance.mCombatController.mPlayCard);

        if (temp == null)
        {
            mPass.SetActive(true);
            ControllerManage.Instance.mCombatController.mPlayCard.Play();
            return;
        }
        for (int i = 0; i < temp.Count; i++)
        {
            mCardData.Remove(temp[i]);
            mCardList[i].SetData(temp[i]);
        }
        SetCount(mCardData.Count);
        if (mCardData.Count == 0)
        {
            EventManage.Instance.Broadcast(EventEnum.combat, "over");
            return;
        }
        ControllerManage.Instance.mCombatController.mPlayCard.Play(temp);
    }
Beispiel #2
0
    private void OnGUI()
    {
        if (GUILayout.Button("Test Button"))
        {
            Debug.LogError("Click Test Button");
        }
        if (GUILayout.Button("跑马灯"))
        {
            string str = DesEnum.单机斗地主.ToString() + "," + DesEnum.娱乐作品.ToString() + "," + DesEnum.作者QQ419318386.ToString();
            EventManage.Instance.Broadcast(EventEnum.play_marquee, str);
        }
        if (GUILayout.Button("小飞机"))
        {
            List <CardData> data = new List <CardData>();
            data.Add(new CardData(3, CardData.CardColor.FK));
            data.Add(new CardData(3, CardData.CardColor.HT));
            data.Add(new CardData(3, CardData.CardColor.HX));
            data.Add(new CardData(4, CardData.CardColor.FK));
            data.Add(new CardData(4, CardData.CardColor.HT));
            data.Add(new CardData(4, CardData.CardColor.HX));
            data.Add(new CardData(5, CardData.CardColor.FK));
            data.Add(new CardData(5, CardData.CardColor.HT));
            data.Add(new CardData(5, CardData.CardColor.HX));

            data.Add(new CardData(10, CardData.CardColor.MH));
            data.Add(new CardData(10, CardData.CardColor.HX));
            data.Add(new CardData(11, CardData.CardColor.MH));
            data.Add(new CardData(11, CardData.CardColor.HX));
            data.Add(new CardData(12, CardData.CardColor.MH));
            data.Add(new CardData(12, CardData.CardColor.HX));

            Debug.LogError(CardArithmetic.Check(data).ToString());
        }
    }
Beispiel #3
0
    /// <summary>
    /// 出牌
    /// </summary>
    private void Play()
    {
        List <CardData> temp = GetPlayCardData();
        var             type = CardArithmetic.Check(temp);

        Debug.LogError(type);
        if (type == CardArithmetic.CardType.Nnll)
        {
            return;
        }

        for (int i = 0; i < temp.Count; i++)
        {
            mCardData.Remove(temp[i]);
            for (int j = 0; j < mCardList.Count; j++)
            {
                if (mCardList[j].data == temp[i])
                {
                    mCardList[j].gameObject.SetActive(false);
                    break;
                }
            }
            mActCardList[i].SetData(temp[i]);
        }
        mActCard.enabled = true;
        mCard.enabled    = true;
        mPlay.SetActive(false);

        if (mCardData.Count == 0)
        {
            EventManage.Instance.Broadcast(EventEnum.combat, "over");
            return;
        }
        ControllerManage.Instance.mCombatController.mPlayCard.Play(temp);
    }
Beispiel #4
0
    private void Processor2PlayCard()
    {
        if (mPlayCard == null)
        {
            mPlayCard = new PlayCard();
        }
        Player   playPlayer   = mPlayCard.player.GetComponent <Player>();;
        PlayerAI playPlayerAI = mPlayCard.player.GetComponent <PlayerAI>();

        //出牌
        if (mPlayCard.cardDataListToPlayer == null || mPlayCard.player == mPlayCard.cardDataListToPlayer)
        {
            if (playPlayer != null)
            {
                Debug.LogError("出牌:" + playPlayer.gameObject);
                playPlayer.PlayCardInit();
                playPlayer.mPlay.SetActive(true);
            }
            else if (playPlayerAI != null)
            {
                Debug.LogError("出牌:" + playPlayerAI.gameObject);
                playPlayerAI.mPass.SetActive(false);
                for (int i = 0; i < playPlayerAI.mCardList.Count; i++)
                {
                    playPlayerAI.mCardList[i].gameObject.SetActive(false);
                }
                playPlayerAI.SetTime(true);
                mTimerTask.Add(TimeManage.Instance.AddTimerTask(playPlayerAI.Play, Random.Range(1.4f, 3.4f)));
            }
        }
        else//打牌
        {
            if (playPlayer != null)
            {
                Debug.LogError("打牌:" + playPlayer.gameObject);
                playPlayer.PlayCardInit();
                if (CardArithmetic.AutoPlay(mCombatView.mPlayer.mCardData, mPlayCard) == null)
                {
                    playPlayer.mPass.SetActive(true);
                }
                else
                {
                    playPlayer.mAct.SetActive(true);
                }
            }
            else if (playPlayerAI != null)
            {
                Debug.LogError("打牌:" + playPlayerAI.gameObject);
                playPlayerAI.mPass.SetActive(false);
                for (int i = 0; i < playPlayerAI.mCardList.Count; i++)
                {
                    playPlayerAI.mCardList[i].gameObject.SetActive(false);
                }
                playPlayerAI.SetTime(true);
                mTimerTask.Add(TimeManage.Instance.AddTimerTask(playPlayerAI.HitPlay, Random.Range(1.4f, 3.4f)));
            }
        }
    }
Beispiel #5
0
    private void HitPlay()
    {
        List <CardData> temp = GetPlayCardData();
        var             type = CardArithmetic.Check(temp);

        Debug.LogError(type);
        if (type == CardArithmetic.CardType.Nnll)
        {
            return;
        }
        mAct.SetActive(false);
        Play();
    }
Beispiel #6
0
    private void TipsPlay()
    {
        for (int i = 0; i < mCardList.Count; i++)
        {
            mCardList[i].transform.localPosition = new Vector3(mCardList[i].transform.localPosition.x, 0, 0);
        }
        var tips = CardArithmetic.AutoPlay(mCardData, ControllerManage.Instance.mCombatController.mPlayCard);

        for (int i = 0; i < mCardList.Count; i++)
        {
            for (int j = 0; j < tips.Count; j++)
            {
                if (tips[j] == mCardList[i].data)
                {
                    mCardList[i].transform.localPosition = new Vector3(mCardList[i].transform.localPosition.x, 24, 0);
                }
            }
        }
    }