i create object that is a enemy and made it into prefab from prefab i make 10 enemies;
give them a Health=3 and here is the script
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EnemyHealth : MonoBehaviour
{
private int Health = 3;
public GameObject EnemyDieEffect;
void Update()
{
if (Health <= 0)
{
Instantiate(EnemyDieEffect, transform.position, Quaternion.identity);
Destroy(gameObject);
}
}
}
whenever i shoot the bullet it give damage to the enemy after 3 Damage player has to be destroyed yes it is destroyed but not that one which i shoot it destroys prefab’s last enemy first and in the last it destroys prefab’s first enemy Here is my script
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BulletToRight : MonoBehaviour
{
public float speed;
public float BulletlifeTime;
public int damage;
public Rigidbody2D rb;
private EnemyHealth enemyhealth;
public Transform player;
public GameObject playerBulleteffect;
void Start()
{
rb = FindObjectOfType<Rigidbody2D>();
enemyhealth = FindObjectOfType<EnemyHealth>();
player = GameObject.FindGameObjectWithTag("Player").transform;
Invoke("DestroyPlayerbullet", BulletlifeTime);
}
void Update()
{
rb.velocity = Vector2.right * speed;
//transform.Translate(transform.right * speed * Time.deltaTime);
}
void DestroyPlayerbullet()
{
Destroy(gameObject);
}
void OnTriggerEnter2D(Collider2D col)
{
// destroy player bulllet and spawn player bullet effect if player bullet collided with enemy tag object
if (col.tag == "enemy")
{
// player buller effect spawn
Instantiate(playerBulleteffect, transform.position, Quaternion.identity);
// destroy bullet projecttile
Destroy(gameObject);
// take Damage of enemy
enemyhealth.Health = enemyhealth.Health - damage;
}
}
}
if anyone Have any Suggestion Please reply