void revive() { close(); //gets player ControllerPlayer player = GameObject.FindGameObjectWithTag("Player").GetComponent <ControllerPlayer>(); //heals player player.heal(10f); //kills all enemies in a 3 unit radius //creates layer mask LayerMask mask = 1 << 9; //creates filter ContactFilter2D filter = new ContactFilter2D(); filter.SetLayerMask(mask); filter.ClearDepth(); filter.useTriggers = true; //creates array Collider2D[] colliders = new Collider2D[30]; //puts into array all the overlapping colliders Physics2D.OverlapCircle(player.transform.position, 3f, filter, colliders); //adds colliders into list foreach (Collider2D collide in colliders) { //tests if the collider is null if (collide == null) { continue; } //tests if the collider is a trigger if (collide.isTrigger) { continue; } //tests if the collider is a hitbox by checking if it is a box2d if (collide is BoxCollider2D) { EnemyMovement enemy = collide.gameObject.GetComponent <EnemyMovement>(); if (enemy != null) { enemy.damage(1f); } } } //revive Animation player.reviveAni(); wasPreviouslyRevived = true; }
protected void onPickup() { //heals player playerCon.heal(healAmount); }