I’m making a platformer (sidescroller), and right now I’m making a grenade-launcher for the player.
It spawns grenades which is a prefab, this prefab has a Circle Collider 2D which is the blast radius for the explosion.
When a grenade is spawned I run this (amongst other things);
// Add the initial force
rBody.AddForce(new Vector2(forceX, forceY) *300f);
Invoke("Explode", 2.5f);
I’m having trouble figuring out how I should handle the Explode function. I would like to find all the GameObjects that are colliding with the Circle Collider 2D at that point, but I can’t find a way to do it.
I would like to be able to do something like this (not real code but you understand what I’m trying to do)
void Explode () {
collidingObjects = circleCollider.getCollisions();
foreach(collidingObject as entity) {
if(entity = 'player')
player.pushLeftOrRight()
elseif(entity = 'enemy')
grenade.dealDamage(grenade.damage)
}
Debug.Log("Explode");
Destroy(gameObject);
}
I’m guessing that it wouldn’t work so can anyone point me in the right direction?