NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Gameplay/Summon/State/SummonStateEmitBulletToLoca...

45 lines
1.2 KiB
C#

using Gameplay.Bullet;
using LTGame;
namespace Gameplay.Summon
{
public class SummonStateEmitBulletToLocal : BaseSummonState
{
public SummonEmitBulletToLocal _summonInst;
private float _remainTime;
public SummonStateEmitBulletToLocal(BaseSummon summon) : base(summon, ESummonState.Idle)
{
_summonInst = summon as SummonEmitBulletToLocal;
}
protected override void _OnEnter(NBaseState exitState,
object param)
{
base._OnEnter(exitState, param);
_remainTime = _summonInst.emitInterval;
}
protected override void _OnRunning()
{
base._OnRunning();
_remainTime -= deltaTime;
if (_remainTime < 0)
{
_remainTime += _summonInst.emitInterval;
_EmitBulletToSelfCellIndex();
}
}
private void _EmitBulletToSelfCellIndex()
{
var bulletId = _summonInst.emitBulletId;
BulletManager.instance.EmitBulletFromSummon(bulletId, _summonInst.transData.cellIndex, _summonInst);
}
}
}