- Home /
Question by
fluxhackspro · May 18, 2017 at 11:01 AM ·
uiraycastloop
Raycast on ui elements not working?
Hello fellow developers. I've been working on a card game for the past 5 days and im trying to work out the attacking of the cards (so cards can attack each other). I can select cards and now im trying to send out a raycast that from the mouse and if i hit a card and rightclick i will go through all the cards in the scene and then find the selected one ( there can only be one). And after that attack! But the raycast is not working and i dont know why, is it because of the ui? I thank you for your advice in advance. ~flux
This is attached to every card in the game. Every card also has a 'playcard' script NOTE that the debug is not printing
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class attackCard : MonoBehaviour {
GameObject[] allCards;
public void Update ()
{
RaycastHit2D hit = Physics2D.Raycast (Camera.main.ScreenToWorldPoint (Input.mousePosition), Vector2.zero);
allCards = GameObject.FindGameObjectsWithTag ("Cards");
if (hit.transform == this.transform.gameObject)
{
if (Input.GetMouseButtonDown (1))
{
Debug.Log (hit.transform.name);
for (int i = 0; i < allCards.Length; i++)
{
if (allCards [i].GetComponent<PlayCard> ().selected == true)
{
allCards [i].GetComponent<Info> ().currentHP -= this.GetComponent<Info> ().startAttack;
this.GetComponent<Info> ().currentHP -= allCards [i].GetComponent<Info> ().startAttack;
allCards [i].GetComponent<PlayCard> ().selected = false;
}
}
}
}
}
}
Comment