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