- Home /
Question by
Ethaninja · Jun 28, 2014 at 04:18 PM ·
c#colliderspherecastbomb
Unity C# Bomb Radius Issue
Hey all,
so I've been pulling my hair out for weeks now, and I've tried every tutorial out there and I can't seem to find anything on how to fix my issue.
Basically,I have a bomb that is instantiated at the players location on input, runs down a timer, and then if anything is inside it's Physics.OverlapSphere when the timer hits 0, deal damage.
The problem is, that it will always hit me, even though I tried getting it to only deal damage if the gameObjects tag == "enemy". What's worse is that even though I'm SURE I left the radius, it still thinks I'm in there.
if(currentBombAmmo > 0)
{
if(Input.GetKeyDown (KeyCode.V))
{
Instantiate(bomb, transform.position, transform.rotation);
Debug.Log ("Bomb has been planted!");
currentBombAmmo -= 1;
bombActive = true;
audio.PlayOneShot(bombDrop);
}
}
if(bombActive == true)
{
bombTimer -= Time.deltaTime;
Collider[] around = Physics.OverlapSphere(bomb.transform.position, bombRadius);
if(bombTimer <= 0)
{
foreach(Collider inExplosion in around)
{
if(inExplosion.transform.tag == "enemy")
{
Debug.Log("bomb has hit some enemy");
gameObject.GetComponent<healthScript>().characterHealth -= 110;
}
}
audio.PlayOneShot(bombExplosion);
bombActive = false;
bombTimer = 5.0f;
}
}
Also it seems to only work for the first bomb. If I drop the second bomb, the timer works fine and all, but it won't do anything else.
Edited : do NOT use profanity on this 'site
Comment