51 lines
1.3 KiB
C#
51 lines
1.3 KiB
C#
using Gameplay.Common;
|
|
namespace Gameplay.Skill.Charge
|
|
{
|
|
public class SkillChargeEnergy : BaseSkillCharge
|
|
{
|
|
|
|
private readonly float _maxEnergyValue;
|
|
private float _nowEnergyValue;
|
|
|
|
public SkillChargeEnergy(SkillHandle skillHandle) : base(skillHandle)
|
|
{
|
|
_maxEnergyValue = rawConfig.ChargeParam;
|
|
_nowEnergyValue = 0f;
|
|
}
|
|
|
|
private void _AddEnergy(float addValue)
|
|
{
|
|
if (nowStoreCount < _maxStoreCount)
|
|
{
|
|
_nowEnergyValue += addValue;
|
|
if (_nowEnergyValue >= _maxEnergyValue)
|
|
{
|
|
_nowEnergyValue = 0f;
|
|
nowStoreCount++;
|
|
}
|
|
chargeProgress = _nowEnergyValue / _maxEnergyValue;
|
|
}
|
|
else
|
|
{
|
|
chargeProgress = 0f;
|
|
}
|
|
|
|
}
|
|
|
|
protected override void _OnNormalAttack()
|
|
{
|
|
base._OnNormalAttack();
|
|
|
|
_AddEnergy(GLConfig.Inst.data.SkillChargeNormalAttack);
|
|
}
|
|
|
|
protected override void _OnBeAttack()
|
|
{
|
|
base._OnBeAttack();
|
|
|
|
_AddEnergy(GLConfig.Inst.data.SkillChargeBeAttack);
|
|
}
|
|
|
|
}
|
|
}
|