Files
OnlyNPC/Assets/FPS/Scripts/Gameplay/ProjectileChargeParameters.cs
manhduyhoang90 167a617e09 asdasd
2026-05-26 09:46:57 +07:00

39 lines
1.3 KiB
C#

using Unity.FPS.Game;
using UnityEngine;
namespace Unity.FPS.Gameplay
{
public class ProjectileChargeParameters : MonoBehaviour
{
public MinMaxFloat Damage;
public MinMaxFloat Radius;
public MinMaxFloat Speed;
public MinMaxFloat GravityDownAcceleration;
public MinMaxFloat AreaOfEffectDistance;
ProjectileBase m_ProjectileBase;
void OnEnable()
{
m_ProjectileBase = GetComponent<ProjectileBase>();
DebugUtility.HandleErrorIfNullGetComponent<ProjectileBase, ProjectileChargeParameters>(m_ProjectileBase,
this, gameObject);
m_ProjectileBase.OnShoot += OnShoot;
}
void OnShoot()
{
// Apply the parameters based on projectile charge
ProjectileStandard proj = GetComponent<ProjectileStandard>();
if (proj)
{
proj.Damage = Damage.GetValueFromRatio(m_ProjectileBase.InitialCharge);
proj.Radius = Radius.GetValueFromRatio(m_ProjectileBase.InitialCharge);
proj.Speed = Speed.GetValueFromRatio(m_ProjectileBase.InitialCharge);
proj.GravityDownAcceleration =
GravityDownAcceleration.GetValueFromRatio(m_ProjectileBase.InitialCharge);
}
}
}
}