Files

27 lines
856 B
C#
Raw Permalink Normal View History

2026-05-26 09:46:57 +07:00
using UnityEngine;
using UnityEngine.Events;
namespace Unity.FPS.Game
{
public abstract class ProjectileBase : MonoBehaviour
{
public GameObject Owner { get; private set; }
public Vector3 InitialPosition { get; private set; }
public Vector3 InitialDirection { get; private set; }
public Vector3 InheritedMuzzleVelocity { get; private set; }
public float InitialCharge { get; private set; }
public UnityAction OnShoot;
public void Shoot(WeaponController controller)
{
Owner = controller.Owner;
InitialPosition = transform.position;
InitialDirection = transform.forward;
InheritedMuzzleVelocity = controller.MuzzleWorldVelocity;
InitialCharge = controller.CurrentCharge;
OnShoot?.Invoke();
}
}
}