Beispiel #1
0
 // Update is called once per frame
 void Update()
 {
     if (_data == null)
     {
         return;
     }
     if (_data.userId != playerInfoProxy.userID)
     {
         return;
     }
     if (Application.isMobilePlatform && Input.touchCount > 1)//手机上点击多个直接跳过
     {
         return;
     }
     if (!battleProxy.isStart || battleProxy.isReport)
     {
         return;
     }
     if (battleProxy.GetIsForbit())    //正在发牌
     {
         return;
     }
     if (Input.GetMouseButtonDown(0))
     {
         RaycastHit hit;
         Camera     rayCamera;
         if (GlobalData.hasHeap)
         {
             rayCamera = myselfCamera;
         }
         else
         {
             rayCamera = Camera.main;
         }
         Ray  ray           = rayCamera.ScreenPointToRay(Input.mousePosition);
         bool touchHandCard = Physics.Raycast(ray, out hit);
         if (!touchHandCard)
         {
             if (selectCard != null && isTouchMove)
             {
                 PutCard();
             }
             return;
         }
         GameObject touchCard = hit.transform.gameObject;
         if (touchCard.layer != GlobalData.SELF_HAND_CARDS)
         {
             if (selectCard != null && isTouchMove)
             {
                 PutCard();
             }
             return;
         }
         //播放选定动画
         if (selectCard != null && selectCard != touchCard)
         {
             selectCard.transform.localPosition = new Vector3(selectCard.transform.localPosition.x, selectCard.transform.localPosition.y, 0);
         }
         selectCard = touchCard;
     }
     else if (Input.GetMouseButtonUp(0) || Input.GetMouseButton(0))
     {
         var curPos = Input.mousePosition;
         if (curPos.y - moveStart.y > 50)
         {
             isTouchMove = true;
         }
     }
     if (selectCard == null)
     {
         return;
     }
     if (Input.GetMouseButtonDown(0))
     {
         if (selectCard.transform.localPosition.z < 0.2f)
         {
             selectCard.transform.localPosition = new Vector3(selectCard.transform.localPosition.x, selectCard.transform.localPosition.y, 0.2f);
             moveStart   = Input.mousePosition;
             isTouchMove = false;
             return;
         }
         PutCard();
         return;
     }
     if (isTouchMove)
     {
         PutCard();
     }
 }