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

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++]);
}
}
}