Esempio n. 1
0
    private void CommonDrag()
    {
        if (Input.GetMouseButtonDown(0))
        {
            if (!CurrentDrag)
            {
                Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
                RaycastHit raycast;
                Physics.Raycast(ray, out raycast, 10f, GameManager.Instance.Layer_Cards | GameManager.Instance.Layer_Mechs | GameManager.Instance.Layer_Modules);
                if (raycast.collider != null)
                {
                    ColliderReplace colliderReplace = raycast.collider.gameObject.GetComponent <ColliderReplace>();
                    if (colliderReplace)
                    {
                        CurrentDrag = colliderReplace.MyCallerCard.GetComponent <DragComponent>();
                    }
                    else
                    {
                        CurrentDrag = raycast.collider.gameObject.GetComponent <DragComponent>();
                    }

                    CurrentDrag.IsOnDrag = true;
                }
            }
        }

        if (Input.GetMouseButtonUp(0))
        {
            ResetCurrentDrag();
        }
    }
Esempio n. 2
0
    public void HandCardEnlarge(CardBase focusCard)
    {
        if (ClientPlayer == null)
        {
            return;
        }
        if (ClientPlayer.WhichPlayer == Players.Enemy)
        {
            return;
        }
        if (IsBeginDrag && DragManager.Instance.CurrentDrag.gameObject != focusCard.gameObject)
        {
            return;
        }

        focusCard.transform.DOPause();

        //Replace the card by a BoxCollider
        ColliderReplace colliderReplace = GameObjectPoolManager.Instance.PoolDict[GameObjectPoolManager.PrefabNames.ColliderReplace].AllocateGameObject <ColliderReplace>(transform);

        colliderReplace.Initiate(focusCard);
        //Enlarge the card and put it in upright position
        focusCard.transform.localScale = Vector3.one * PULL_OUT_CARD_SIZE;
        focusCard.transform.rotation   = DefaultCardPivot.rotation;
        focusCard.transform.position   = new Vector3(focusCard.transform.position.x, focusCard.transform.position.y, focusCard.transform.position.z + PULL_OUT_CARD_OFFSET);
        //Disable the card's BoxCollider
        focusCard.BoxCollider.enabled = false;
        focusCard.CardOrder           = 200;
        focusCard.BeBrightColor();
        isEnlarge = true;
    }
Esempio n. 3
0
    internal void ResetColliderAndReplace()
    {
        if (BoxCollider)
        {
            BoxCollider.enabled = true;
        }

        if (MyColliderReplace)
        {
            MyColliderReplace.PoolRecycle();
            MyColliderReplace = null;
        }
    }
Esempio n. 4
0
 internal void Update_CheckSlotBloomTipOff()
 {
     if (!Input.GetMouseButton(0) && currentFocusEquipmentCard)
     {
         Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
         RaycastHit raycast;
         Physics.Raycast(ray, out raycast, 10f, GameManager.Instance.Layer_Cards);
         if (raycast.collider != null)
         {
             ColliderReplace collider = raycast.collider.gameObject.GetComponent <ColliderReplace>();
             if (!collider)
             {
                 ClientPlayer.BattlePlayer.BattleGroundManager.StopShowSlotBloom();
                 currentFocusEquipmentCard = null;
             }
         }
         else
         {
             ClientPlayer.BattlePlayer.BattleGroundManager.StopShowSlotBloom();
             currentFocusEquipmentCard = null;
         }
     }
 }