public void OnCardClicked(object sender, EventArgs ev) { if (CardClicked != null) { CardClicked.Invoke(this, new IntEventArgs(Index)); } }
public void Update(GameTime gameTime, InputHandler inputHandler) { _cardGraphics.Values.ToList().ForEach(card => card.Update(gameTime, inputHandler)); if (inputHandler.ReleasedPoint.HasValue) { // Try detecting clicks on cards foreach (var card in _drawingOrder.Reverse <Common.Card>()) { // Skip cards of enemy players if (!_clickableCards.Contains(card)) { continue; } var cardGraphics = _cardGraphics[card]; if (cardGraphics.IsInDrawingArea(inputHandler.ReleasedPoint.Value)) { CardClicked?.Invoke(this, new Common.CardEventArgs(card)); inputHandler.Reset(); // Prevent the click from being processed any further return; // Detecting one card is sufficient } } } }
void Awake() { var button = background.gameObject.GetComponent <Button>(); button.onClick.AddListener(new UnityAction(() => { CardClicked?.Invoke(this, new CardClickedEventArgs(this, Details)); })); }
void Awake() { audioSource = GetComponent <MusicBehaviour>(); foreach (var card in pool) { card.CardClicked += (s, e) => { CardClicked?.Invoke(this, e); }; } }
public void HandleInput() { if (!Input.GetMouseButtonDown(0)) { return; } // if (_animator.IsAnimating) return; var hit = Physics2D.Raycast(_mainCamera.ScreenToWorldPoint(Input.mousePosition), Vector2.zero); Card card; if (hit.collider != null && (card = hit.collider.GetComponent <Card>()) != null) { CardClicked?.Invoke(this, new CardEventArgs(card)); } }
private void Card_CardClicked(object sender, IntEventArgs e) { CardClicked?.Invoke(this, new IntEventArgs(e.EventData)); }
private void FireCardClickedEvent(UniqueDisplayCard card) => CardClicked?.Invoke(card);
private void OnCardClicked(Card card) { CardClicked?.Invoke(card); }