public void ProccesHold(InputController.MouseData data) { if (_activeCard == null) { return; } //check availability Ray ray = Camera.main.ScreenPointToRay(data.StartPosition); RaycastHit2D hitInfo = Physics2D.Raycast(ray.origin, ray.direction, Camera.main.farClipPlane, LayerMask.GetMask("ActiveCard")); //Debug.Log($"ProcessHold Hit {hitInfo.collider != null}"); if (hitInfo.collider != null) { Card card = hitInfo.collider.gameObject.GetComponent <Card>(); card.SetProgressValue(Mathf.Clamp01(data.Time / _secsToTake)); //Debug.Log($"On card click {card.gameObject.name}"); if (data.Time > _secsToTake) { Debug.Log($"Hold ended {card.gameObject.name}"); _players[_playerNoTurn].InsertCard(card); //card.Flip(); _activeCard = null; EndTurn(); } } }
public void ProcessClick(InputController.MouseData data) { Ray ray = Camera.main.ScreenPointToRay(data.StartPosition); LayerMask layerMask; if (_activeCard == null) { layerMask = LayerMask.GetMask("Cards"); } else { layerMask = LayerMask.GetMask("ActiveCard"); } RaycastHit2D hitInfo = Physics2D.Raycast(ray.origin, ray.direction, Camera.main.farClipPlane, layerMask); //Debug.DrawLine(ray.origin, ray.origin + ray.direction * Camera.main.farClipPlane, Color.green, 10f); Debug.Log($"ProcessClick ActiveCard {_activeCard != null} Hit {hitInfo.collider != null}"); if (hitInfo.collider != null) { Card card = hitInfo.collider.gameObject.GetComponent <Card>(); Debug.Log($"On card click {card.gameObject.name}"); card.Flip(); if (_activeCard != null) { _activeCard = null; EndTurn(); } else { _activeCard = card; } } }