21 lines
594 B
C#
21 lines
594 B
C#
using UnityEngine;
|
|
|
|
public abstract class Weapon : MonoBehaviour
|
|
{
|
|
[Header("Ссылки")]
|
|
[SerializeField] protected GameObject ProjectilePrefab;
|
|
[SerializeField] protected Transform ShootPoint;
|
|
|
|
[Header("Настройки оружия")]
|
|
[SerializeField] protected float ReloadInterval = 5;
|
|
public GameObject Owner;
|
|
|
|
protected float lastShootTime = 0;
|
|
|
|
public float ReloadPercent => Mathf.Clamp01((Time.time - lastShootTime) / ReloadInterval);
|
|
public bool CanShoot => Time.time - lastShootTime >= ReloadInterval;
|
|
|
|
public abstract void Shoot();
|
|
|
|
}
|