예제 #1
0
 public XamInput(ABSUser player, Xam xam, ArrayCard arrayCard, Card card)
 {
     this.player    = player;
     this.arrayCard = arrayCard;
     this.card      = card;
     this.xamStage  = xam;
 }
예제 #2
0
    public virtual void addToCardFromCard(ArrayCard arrCFrom, ArrayCard arrCTo, int idCard, bool isTouch)
    {
        Card cardFrom = arrCFrom.getCardbyID(idCard);

        if (arrCFrom.getSize() == 0)
        {
            return;
        }
        if (cardFrom == null)
        {
            cardFrom = arrCFrom.getCardbyPos(0);
        }
        Vector3 beginPos = cardFrom.transform.localPosition;

        arrCFrom.removeCardByID(idCard);
        arrCTo.addCard(idCard);

        Card card = arrCTo.getCardbyID(idCard);

        if (card == null)
        {
            card = arrCTo.getCardbyPos(arrCTo.getSize() - 1);
        }

        Vector3 endPos = card.transform.localPosition;

        card.transform.parent        = arrCFrom.transform;
        card.transform.localPosition = beginPos;

        card.transform.parent = arrCTo.transform;
        StartCoroutine(card.moveTo(endPos, 0.2f, 0f, false));
    }
예제 #3
0
 void GetCardNoc(ArrayCard ArrayCardHand, int idCard, bool isTao)
 {
     if (ArrayCardHand.listCardHand[1].ID == 52)
     {
         ArrayCardHand.listCardHand[1].SetCardWithId(idCard);
     }
     else
     {
         Card c = GetCardOnArrayCard(ArrayCardHand);
         //if (isTao) {
         c.SetCardWithId(idCard);
         c.transform.localPosition = ArrayCardHand.GetPositonCardActive();
         c.SetDarkCard(false);
         c.SetTouched(isTao);
         c.IsChoose = false;
         //} else
         //	c.SetCardWithId(53);
         //Vector3 vt = ArrayCardHand.POS_CENTER;//ArrayCardHand.transform.InverseTransformPoint(ArrayCardHand.vtPosCenter);
         Vector3 vt = ArrayCardHand.transform.InverseTransformPoint(dealerPos.position);
         StartCoroutine(c.MoveFrom(vt, 0.4f, 0, () => {
             //ArrayCardHand.ResetCard(true);
             Card ctemp = new Card();
             ctemp      = c;
             ArrayCardHand.listCardHand.Remove(c);
             ArrayCardHand.listCardHand.Add(ctemp);
             ArrayCardHand.SortCardActive(true, 0.2f);
         }));
     }
     if (isTao)
     {
         TYPE_CARD type = TypeCardMauBinh.GetTypeCardMauBinh(list_my_card.ToArray());
         Debug.LogError("Kieu bai cua toi" + type);
     }
 }
예제 #4
0
 public XitoInput(Xito xitoStage, ArrayCard arrayCard, Card card)
 {
     // TODO Auto-generated constructor stub
     this.arrayCard = arrayCard;
     this.card      = card;
     this.xitoStage = xitoStage;
 }
예제 #5
0
 public PhomInput(PHOM phomStage, ArrayCard arrayCard, Card card)
 {
     // TODO Auto-generated constructor stub
     this.arrayCard = arrayCard;
     this.card      = card;
     this.phomStage = phomStage;
 }
예제 #6
0
    public virtual void addToCard(ArrayCard arrC, int idCard, bool isDearling, bool isTouch, bool isSort, bool isEatCard)
    {
        arrC.addCard(idCard);
        if (isSort)
        {
            int[] temp = RTL.sort(cardHand.getArrCardAll());
            if (pos == 0)
            {
                cardHand.setArrCard(temp, false);
            }
        }
        Card card = arrC.getCardbyID(idCard);

        if (card == null)
        {
            card = arrC.getCardbyPos(arrC.getSize() - 1);
        }
        if (isDearling)
        {
            Vector3 oldPos = card.gameObject.transform.localPosition;
            card.gameObject.transform.parent        = arrC.mainTransform;
            card.gameObject.transform.localPosition = new Vector3(0, 0, 0);
            Debug.LogError("Boc Bai");
            card.gameObject.transform.parent = arrC.transform;
            StartCoroutine(card.moveTo(oldPos, 0.25f, 0, true));
        }
    }
예제 #7
0
파일: ABSUser.cs 프로젝트: ping203/WebGame
    void Awake()
    {
        master       = uiplayer.master;
        cardHand     = uiplayer.cardHand;
        cardHand3Cay = uiplayer.cardHand3Cay;
        // phom
        cardPhom = uiplayer.cardPhom;

        // mau binh
        cardMauBinh = uiplayer.cardMauBinh;
        posCardMB   = uiplayer.posCardMB;

        body         = uiplayer.body;
        timer        = uiplayer.timer;
        chat         = uiplayer.chat;
        buttonInvite = uiplayer.buttonInvite;
        toggleAction = uiplayer.toggleAction;
        //buttonKick = uiplayer.buttonKick;
        //buttonInfo = uiplayer.buttonInfo;
        img_avatar      = uiplayer.img_avatar;
        raw_avatar      = uiplayer.raw_avatar;
        lb_name_sansang = uiplayer.lb_name_sansang;
        lb_money        = uiplayer.lb_money;

        sp_sap3chi  = uiplayer.sp_sap3chi;
        sp_thang    = uiplayer.sp_thang;
        sp_xoay     = uiplayer.sp_xoay;
        sp_typeCard = uiplayer.sp_typeCard;
        sp_action   = uiplayer.sp_action;
        if (sp_action != null)
        {
            vt_sp_action = sp_action.transform.localPosition;
        }
        sp_xepXong = uiplayer.sp_xepXong;
        sp_lung    = uiplayer.sp_lung;
        sp_baoSam  = uiplayer.sp_baoSam;

        lb_money_result2    = uiplayer.lb_money_result2;
        vt_lb_money_result2 = lb_money_result2.transform.localPosition;

        chip = uiplayer.chip;
        if (chip != null)
        {
            posChip = chip.transform.localPosition;
        }
        npcController = uiplayer.npcController;
        ani_thang     = uiplayer.ani_thang;
        if (toggleAction != null)
        {
            toggleAction.onValueChanged.AddListener(toggleActiononChange);
        }
        if (buttonInvite != null)
        {
            buttonInvite.onClick.AddListener(clickButtonInvite);
        }
        //    delegate {
        //    clickButtonInvite();
        //});
    }
예제 #8
0
 public MauBinhInput(MauBinh mbStage, MauBinhPlayer player, ArrayCard cardHand, ArrayCard[] cardChi, Card card)
 {
     this.cardHand = cardHand;
     this.cardChi  = cardChi;
     this.card     = card;
     this.mbStage  = mbStage;
     this.player   = player;
 }
예제 #9
0
 public TLMNInput(ABSUser player, TLMN tlmn, ArrayCard arrayCard, Card card)
 {
     // TODO Auto-generated constructor stub
     this.arrayCard = arrayCard;
     this.card      = card;
     this.tlmnStage = tlmn;
     this.player    = player;
 }
예제 #10
0
 public LiengInput(ArrayCard arrayCard, Card card, LiengPlayer player)
 {
     // TODO Auto-generated constructor stub
     this.arrayCard = arrayCard;
     this.card      = card;
     if (player.pos == 0)
     {
         this.player = player;
     }
 }
예제 #11
0
 Card GetCardOnArrayCard(ArrayCard arr)
 {
     for (int i = 0; i < arr.listCardHand.Count; i++)
     {
         Card c = arr.listCardHand[i];
         if (!c.isBatHayChua)
         {
             return(c);
         }
     }
     return(arr.AddAndGetCardOnArray());
 }
예제 #12
0
    IEnumerator WaitGuiBai(int[] idCards, PhomPlayer playerTu, bool isTao)
    {
        List <int> Phom1 = new List <int>();

        for (int i = 0; i < ArrayCardPhom[0].listCardHand.Count; i++)
        {
            Card c = ArrayCardPhom[0].listCardHand[i];
            if (c.isBatHayChua)
            {
                Phom1.Add(c.ID);
            }
        }

        for (int i = 0; i < idCards.Length; i++)
        {
            Phom1.Add(idCards[i]);
            Card cTu;
            if (isTao)
            {
                cTu = playerTu.cardTaLaManager.ArrayCardHand.GetCardbyIDCard(idCards[i]);
            }
            else
            {
                cTu = playerTu.cardTaLaManager.GetCardOnArrayCard(playerTu.cardTaLaManager.ArrayCardHand);
            }
            cTu.SetVisible(false);
            int indexP = 0;
            if (!AutoChooseCardTaLa.CheckPhom(Phom1.ToArray()))
            {
                Phom1.Remove(idCards[i]);
                indexP = 1;
            }
            ArrayCard arr  = ArrayCardPhom[indexP];
            Card      cDen = GetCardOnArrayCard(arr);
            cDen.transform.localPosition = arr.GetPositonCardActive();
            cDen.setSmall(!isTao);
            cDen.SetCardWithId(idCards[i]);
            Vector3 vtFrom = arr.transform.InverseTransformPoint(isTao ? cTu.transform.position : playerTu.cardTaLaManager.ArrayCardHand.transform.position);
            StartCoroutine(cDen.MoveFrom(vtFrom, CONST_DUR, 0, () => {
                arr.SortCardActive();
                cDen.setSmall(true);
                SortCardPhom(arr);
            }));
            yield return(new WaitForSeconds(0.2f));
        }
        if (isTao)
        {
            yield return(new WaitForSeconds(0.2f));

            playerTu.cardTaLaManager.ArrayCardHand.SortCardActive();
        }
    }
예제 #13
0
    public void DoiChi()
    {
        ArrayCard temp = arrayCard [1];
        float     vt1Y = arrayCard [1].transform.localPosition.y;
        float     vt2Y = arrayCard [2].transform.localPosition.y;

        arrayCard [2].transform.DOLocalMoveY(vt1Y, 0.2f);
        arrayCard [1].transform.DOLocalMoveY(vt2Y, 0.2f);

        arrayCard [1] = arrayCard [2];
        arrayCard [1].transform.SetAsFirstSibling();
        arrayCard [2] = temp;

        arrayCard [0].transform.SetAsFirstSibling();
    }
예제 #14
0
    void SortCardPhom(ArrayCard arrC)
    {
        List <int> Phom1 = new List <int>();

        for (int i = 0; i < arrC.listCardHand.Count; i++)
        {
            Card c = arrC.listCardHand[i];
            if (c.isBatHayChua)
            {
                Phom1.Add(c.ID);
            }
        }

        int[] arr = Phom1.OrderBy(x => AutoChooseCardTaLa.GetValue(x)).ThenBy(x => AutoChooseCardTaLa.GetType(x)).ToArray();
        arrC.SetCardKhiKetThucGame(arr);
    }
예제 #15
0
    public override void addToCard(ArrayCard arrC, int idCard, bool isDearling, bool isTouch, bool isSort, bool isEatCard)
    {
        try {
            arrC.addCard(idCard);
        } catch (Exception e) {
        }
        if (isSort)
        {
            //int[] temp = RTL.sort(cardHand.getArrCardAll());
            //if (pos == 0)
            //{
            //    cardHand.setArrCard(temp);
            //}
            //else
            //{
            //}
        }
        Card card = arrC.getCardbyID(idCard);

        if (card == null)
        {
            card = arrC.getCardbyPos(arrC.getSize() - 1);
        }
        if (isEatCard)
        {
            card.GetComponent <RectTransform>().sizeDelta = new Vector3(40, 60);
        }
        if (isDearling)
        {
            Vector3 oldPos = card.gameObject.transform.localPosition;
            //if (pos == 0)
            //    card.GetComponent<RectTransform>().sizeDelta = new Vector3(80, 110);
            card.gameObject.transform.SetParent(middleTransform);
            //Debug.LogError("oldPos " + oldPos);
            card.gameObject.transform.localPosition = middleTransform.localPosition;
            card.gameObject.transform.SetParent(arrC.mainTransform);
            //Debug.LogError(" Card Position " + card.gameObject.transform.localPosition + " Middle " + middleTransform.localPosition);
            StartCoroutine(card.moveTo(oldPos, .2f, 0, false));

            SoundManager.instance.startchiabaiAudio();

            //arrC.reAddAllCard(getEatCard());
        }
    }
예제 #16
0
 public void MinhDanh(int[] cards, ArrayCard cardHand, UnityAction callBack)
 {
     Card[] hanLuonMangCard = new Card[cards.Length];
     for (int i = 0; i < cards.Length; i++)
     {
         GameObject card = GetCard();
         card.transform.SetParent(transform);
         card.transform.localPosition = Vector3.zero;
         card.transform.localScale    = Vector3.zero;
         card.transform.Rotate(new Vector3(0, 0, UnityEngine.Random.Range(-10, 10)));
         card.transform.SetAsLastSibling();
         Card c = card.GetComponent <Card>();
         c.setSmall(false);
         c.SetTouched(false);
         c.SetCardWithId(cards[i]);
         c.SetVisible(true);
         hanLuonMangCard[i] = c;
         listCardTrenBan.Add(c);
     }
     StartCoroutine(BayTuCardHandRaGiuaBan(hanLuonMangCard, cardHand, callBack));
 }
예제 #17
0
    /// <summary>
    /// Lay 1 quan bai bi an hoac id = 53 tu 1 array card
    /// </summary>
    public Card GetCardOnArrayCard(ArrayCard arr)
    {
        for (int i = 0; i < arr.listCardHand.Count; i++)
        {
            Card c = arr.listCardHand[i];
            if (!c.isBatHayChua)
            {
                return(c);
            }
        }
        for (int i = 0; i < arr.listCardHand.Count; i++)
        {
            Card c = arr.listCardHand[i];
            if (c.ID == 53)
            {
                return(c);
            }
        }

        Debug.LogError("=========================Tao moi roi!");
        return(arr.AddAndGetCardOnArray());
    }
예제 #18
0
    public void SetEatCard(int idCardEat, bool isTao, Card cardAnCuaThangkhac, UnityAction callback = null)
    {
        if (isTao)
        {
            Card cAn = GetCardOnArrayCard(ArrayCardHand);
            cAn.transform.localPosition = ArrayCardHand.GetPositonCardActive();
            cAn.ResetCard(false, true);
            cAn.SetCardWithId(idCardEat);

            Vector3 vtFrom = ArrayCardHand.transform.InverseTransformPoint(cardAnCuaThangkhac.transform.position);
            cardAnCuaThangkhac.SetVisible(false);
            StartCoroutine(cAn.MoveFrom(vtFrom, CONST_DUR, 0, () => {
                cAn.SetActiveBorder(true);
                ArrayCardHand.SortCardActive();
                isSortOderBy = 1;
                if (callback != null)
                {
                    callback.Invoke();
                }
            }));
        }
        else
        {
            ArrayCard arr = ArrayCardPhom[indexPhomAn];
            Card      cAn = GetCardOnArrayCard(arr);//sua
            cAn.transform.localPosition = arr.GetPositonCardActive();
            cAn.SetCardWithId(idCardEat);

            Vector3 vtFrom = arr.transform.InverseTransformPoint(cardAnCuaThangkhac.transform.position);
            cardAnCuaThangkhac.SetVisible(false);
            StartCoroutine(cAn.MoveFrom(vtFrom, CONST_DUR, 0, () => {
                arr.SortCardActive();
            }));
            CardAn.Add(idCardEat);
        }
        indexPhomAn++;
    }
예제 #19
0
    IEnumerator BayTuCardHandRaGiuaBan(Card[] cards, ArrayCard cardHand, UnityAction callBack)
    {
        for (int i = 0; i < cards.Length; i++)
        {
            Card cccc = cardHand.GetCardbyIDCard(cards[i].ID);
            if (cccc != null)
            {
                Vector3 vtfrom = transform.InverseTransformPoint(cccc.transform.position);
                StartCoroutine(cards[i].MoveFromCardHand(vtfrom, 0.2f, 0));
                cccc.transform.DOScale(0, 0.1f).OnComplete(() => {
                    cccc.SetVisible(false);
                    cccc.transform.localScale = Vector3.one;
                });
            }
        }
        SapXepCardChinhCMNGiua(cards);
        yield return(new WaitForSeconds(0.2f));

        if (callBack != null)
        {
            callBack.Invoke();
        }
        StartCoroutine(ShowHideEffect(0));
    }
예제 #20
0
    public override void addToCard(ArrayCard arrC, int idCard, bool isDearling, bool isTouch, bool isSort)
    {
        try {
            arrC.addCard(idCard);
        } catch (Exception e) {
        }
        if (isSort)
        {
            //int[] temp = RTL.sort(cardHand.getArrCardAll());
            //if (pos == 0)
            //{
            //    cardHand.setArrCard(temp);
            //}
            //else
            //{
            //}
        }
        Card card = arrC.getCardbyID(idCard);

        if (card == null)
        {
            card = arrC.getCardbyPos(arrC.getSize() - 1);
        }
        if (isDearling)
        {
            Vector3 oldPos = card.gameObject.transform.localPosition;
            card.gameObject.transform.parent        = arrC.mainTransform;
            card.gameObject.transform.localPosition = new Vector3(0, 0, 0);
            card.gameObject.transform.parent        = arrC.transform;
            StartCoroutine(card.moveTo(oldPos, 0.2f, 0, false));

            GameControl.instance.sound.startchiabaiAudio();

            arrC.reAddAllCard(getEatCard());
        }
    }
예제 #21
0
    public void HaBai(int[] idCards, bool isTao, List <int> CardAnMe = null)
    {
        CardPhom.Clear();
        CardPhom.AddRange(idCards);
        if (isTao)
        {
            if (CardAnMe != null)
            {
                this.CardAn.Clear();
                this.CardAn.AddRange(CardAnMe);
            }
            ArrayCard arr = ArrayCardPhom[indexPhomHa];
            for (int i = 0; i < arr.listCardHand.Count; i++)
            {
                Card cc = arr.listCardHand[i];
                cc.ResetCard(false, true);
                if (i < idCards.Length)
                {
                    Card cHa = ArrayCardHand.GetCardbyIDCard(idCards[i]);
                    cc.transform.localPosition = arr.GetPositonCardActive();
                    cc.SetCardWithId(cHa.ID);
                    Vector3 vt = arr.transform.InverseTransformPoint(cHa.transform.position);
                    cHa.SetVisible(false);
                    if (i < idCards.Length - 1)
                    {
                        StartCoroutine(cc.MoveFrom(vt, CONST_DUR, 0));
                    }
                    else
                    {
                        StartCoroutine(cc.MoveFrom(vt, CONST_DUR, 0, () => {
                            arr.SortCardActive();
                            ArrayCardHand.SortCardActive();
                        }));
                    }
                    if (CardAn.Contains(cc.ID))
                    {
                        cc.SetActiveBorder(true);
                    }
                }
                else
                {
                    cc.SetVisible(false);
                }
            }
        }
        else
        {
            ArrayCard arr = ArrayCardPhom[indexPhomHa];
            for (int i = 0; i < arr.listCardHand.Count; i++)
            {
                Card cc = arr.listCardHand[i];
                cc.ResetCard(false, true);
                if (i < idCards.Length)
                {
                    cc.SetCardWithId(idCards[i]);
                    Vector3 vt = arr.transform.InverseTransformPoint(ArrayCardHand.transform.position);
                    if (i < idCards.Length - 1)
                    {
                        StartCoroutine(cc.MoveFrom(vt, CONST_DUR, 0));
                    }
                    else
                    {
                        StartCoroutine(cc.MoveFrom(vt, CONST_DUR, 0, () => {
                            arr.SortCardActive(true);
                        }));
                    }
                }
                else
                {
                    cc.SetVisible(false);
                }
            }
        }

        indexPhomHa++;
    }
예제 #22
0
    internal override void SetTurn(string nick, Message message)
    {
        base.SetTurn(nick, message);
        try {
            PhomPlayer pl = (PhomPlayer)GetPlayerWithName(nick);
            bool       bocbai = false, anbai = false, haphom = false, danhbai = false;
            if (nick.Equals(ClientConfig.UserInfo.UNAME) || string.IsNullOrEmpty(nick))
            {
                anbai  = false;
                bocbai = true;
                if (playerMe != null)
                {
                    int[] temp = ((PhomPlayer)playerMe).cardTaLaManager.GetCardIdCardHand();
                    if (temp.Length < 10)
                    {
                        bocbai  = cardDanhTruocDo != 0;
                        danhbai = cardDanhTruocDo == 0;
                    }
                    else
                    {
                        bocbai  = false;
                        danhbai = true;
                    }
                    if (pl.cardTaLaManager.NumCardFire() >= 4)
                    {
                        haphom  = true;
                        danhbai = false;
                        anbai   = false;
                        bocbai  = false;
                    }
                    else
                    {
                        ArrayCard cardMe    = ((PhomPlayer)playerMe).cardTaLaManager.ArrayCardHand;
                        int[][]   cardPhoms = RTL.getCardFromPlayer(temp, ListIdCardAn.ToArray(), cardDanhTruocDo);
                        if (cardPhoms != null)
                        {
                            int arrPhom = -1;
                            for (int i = 0; i < cardPhoms.Length; i++)
                            {
                                for (int j = 0; j < cardPhoms[i].Length; j++)
                                {
                                    if (cardDanhTruocDo == cardPhoms[i][j])
                                    {
                                        arrPhom = i;
                                        break;
                                    }
                                }
                                if (arrPhom != -1)
                                {
                                    break;
                                }
                            }

                            if (arrPhom != -1)
                            {
                                for (int j = 0; j < cardPhoms[arrPhom].Length; j++)
                                {
                                    Card c = cardMe
                                             .GetCardbyIDCard(cardPhoms[arrPhom][j]);
                                    if (c != null)
                                    {
                                        c.IsChoose = (true);
                                    }
                                }
                            }
                            anbai = true;
                        }
                    }
                }
            }

            SetActiveButton(false, false, danhbai, bocbai, anbai, haphom, true);
        } catch (Exception e) {
            Debug.LogException(e);
        }
    }