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

58 lines
1.7 KiB
C#
Raw Normal View History

using cfg.SummonCfg;
2023-12-13 14:11:09 +08:00
using Gameplay.Common;
using Gameplay.Skill;
2023-12-13 16:20:41 +08:00
using Gameplay.Unit;
2023-11-15 18:25:27 +08:00
using UnityEngine;
namespace Gameplay.Summon
{
public class SummonTent2 : BaseSummon
{
// old start
public float triggerInterval = 2f;
2023-11-15 18:25:27 +08:00
public int checkDistance;
public int bulletId;
// old end
// new start
public float recoverCD = 10f; // cd剩余时间
2023-11-15 18:25:27 +08:00
public int checkDistance2 = 3; // 检测距离
public float triggerValue = 0.15f; // 护甲值低于多少触发
2023-11-15 18:25:27 +08:00
public int bulletId2; // 发射的子弹id2
// new end
2023-12-13 14:11:09 +08:00
public SummonTent2(DataSummon configData, uint id, GameUnit creator)
: base(configData, id, creator)
{
avatarType = Common.EAvatarType.Building;
}
protected override void _OnInitFsm()
{
base._OnInitFsm();
2023-11-15 13:19:55 +08:00
_fsm.Add(new SummonStateTent2(this));
2023-11-15 13:19:55 +08:00
_fsm.ChangeState(ESummonState.Tent2);
}
protected override void _OnInited()
{
base._OnInited();
// 初始化基础值
2023-11-15 18:25:27 +08:00
var cacheIndex = 0;
triggerInterval = configData.FloatParams[cacheIndex++];
2023-11-15 18:25:27 +08:00
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++]);
}
}
}