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(); } }
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; }
internal void ResetColliderAndReplace() { if (BoxCollider) { BoxCollider.enabled = true; } if (MyColliderReplace) { MyColliderReplace.PoolRecycle(); MyColliderReplace = null; } }
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; } } }