I have a script for my enemy health bar and for my bullet and im pretty sure it should work but when bullet hits the enemy, health bar doesnt do anything. In console it says that the bullet hit.
Enemy health bar script:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class enemyhp : MonoBehaviour
{
public int starthealth = 100;
public int health;
public Image healthbar;
public void Start()
{
health = starthealth;
}
public void Update()
{
if (health <= 0)
{
die();
}
}
public void OnCollisionEnter2D(Collision2D col)
{
if (col.gameObject.tag == "bullet")
{
health -= 25;
Destroy(gameObject);
}
}
public void LateUpdate()
{
healthbar.fillAmount = health / starthealth;
}
void die ()
{
Destroy(gameObject);
}
}
Bullet script:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class bullet : MonoBehaviour {
public float moveSpeed = 7f;
Rigidbody2D rb;
player target;
Vector2 moveDirection;
// Use this for initialization
void Start () {
rb = GetComponent<Rigidbody2D>();
target = GameObject.FindObjectOfType<player>();
moveDirection = (target.transform.position - transform.position).normalized * moveSpeed;
rb.velocity = new Vector2(moveDirection.x, moveDirection.y);
Destroy(gameObject, 3f);
}
// Update is called once per frame
void OnTriggerEnter2D (Collider2D col)
{
if (col.gameObject.tag.Equals ("enemyhitbox"))
{
Debug.Log("Hit!");
Destroy(gameObject);
}
}
}