44 lines
1.1 KiB
C#
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);
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|