58 lines
1.7 KiB
C#
58 lines
1.7 KiB
C#
using cfg.SummonCfg;
|
|
using Gameplay.Common;
|
|
using Gameplay.Skill;
|
|
using Gameplay.Unit;
|
|
using UnityEngine;
|
|
namespace Gameplay.Summon
|
|
{
|
|
public class SummonTent2 : BaseSummon
|
|
{
|
|
|
|
// old start
|
|
public float triggerInterval = 2f;
|
|
|
|
public int checkDistance;
|
|
public int bulletId;
|
|
// old end
|
|
|
|
// new start
|
|
public float recoverCD = 10f; // cd剩余时间
|
|
public int checkDistance2 = 3; // 检测距离
|
|
public float triggerValue = 0.15f; // 护甲值低于多少触发
|
|
public int bulletId2; // 发射的子弹id2
|
|
// new end
|
|
|
|
public SummonTent2(DataSummon configData, uint id, GameUnit creator)
|
|
: base(configData, id, creator)
|
|
{
|
|
avatarType = Common.EAvatarType.Building;
|
|
}
|
|
|
|
protected override void _OnInitFsm()
|
|
{
|
|
base._OnInitFsm();
|
|
_fsm.Add(new SummonStateTent2(this));
|
|
|
|
_fsm.ChangeState(ESummonState.Tent2);
|
|
}
|
|
|
|
protected override void _OnInited()
|
|
{
|
|
base._OnInited();
|
|
// 初始化基础值
|
|
var cacheIndex = 0;
|
|
triggerInterval = configData.FloatParams[cacheIndex++];
|
|
|
|
checkDistance = Mathf.RoundToInt(configData.FloatParams[cacheIndex++]);
|
|
bulletId = Mathf.RoundToInt(configData.FloatParams[cacheIndex++]);
|
|
|
|
// new start
|
|
recoverCD = configData.FloatParams[cacheIndex++];
|
|
checkDistance2 = Mathf.RoundToInt(configData.FloatParams[cacheIndex++]);
|
|
triggerValue = configData.FloatParams[cacheIndex++];
|
|
bulletId2 = Mathf.RoundToInt(configData.FloatParams[cacheIndex++]);
|
|
}
|
|
|
|
}
|
|
}
|