Shoot-N-Slash/Assets/Scripts/EntityStats.cs

46 lines
1.2 KiB
C#

using System;
using System.Collections.Generic;
using UnityEngine;
public class EntityStats : MonoBehaviour
{
public Entity thisEntity;
[Header("Health")]
public float health;
public float maxHealth;
[Header("Stats")]
public float speed;
public float jumpPower;
[Header("State")]
public bool isStalled;
[Header("Ground Detection")]
[SerializeField] private Transform groundCheck;
[SerializeField] private LayerMask groundLayer;
[Header("Attack Origin")]
public Transform attackOriginPoint;
public Transform attackOriginCenter;
[Header("Abilities")]
public List<Ability> abilities = new();
[Header("Cache")]
public Rigidbody2D rb;
public SpriteRenderer sprite;
public bool isFacingRight;
public void TakeDamage(float damage)
{
health -= damage;
if (health <= 0)
{
thisEntity.OnDeath();
}
}
public void Heal(float healing)
{
health += healing;
health = Math.Clamp(health, 0, maxHealth);
}
public bool OnGround()
{
return Physics2D.OverlapCircle(groundCheck.position, 0.05f, groundLayer);
}
}