NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Gameplay/Summon/Impl/SummonSmoke.cs

44 lines
1.1 KiB
C#

using cfg.SummonCfg;
using Gameplay.Summon.Logic;
using Gameplay.Unit;
namespace Gameplay.Summon
{
public class SummonSmoke : LogicCombineSummon
{
public int smokeDistance;
public float emitBulletTime;
public int emitBulletId;
public SummonSmoke(DataSummon configData,
uint id,
GameUnit creator) : base(configData, id, creator)
{
smokeDistance = _ReadIntParam(0);
emitBulletTime = _ReadFloatParam(1);
emitBulletId = _ReadIntParam(2);
}
protected override void _OnInited()
{
base._OnInited();
var smokeLogic = new SLogicSetSmoke(this);
smokeLogic.centerCellIndex = transData.cellIndex;
smokeLogic.distance = smokeDistance;
_AddLogic(smokeLogic);
if (emitBulletTime > 0 && emitBulletId > 0)
{
var emitLogic = new SLogicDelayEmitBulletToSelf(this);
emitLogic.bulletId = emitBulletId;
emitLogic.delayTime = emitBulletTime;
_AddLogic(emitLogic);
}
}
}
}