NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Gameplay/Building/Impl/BuildPillBox.cs

64 lines
1.7 KiB
C#
Raw Normal View History

2024-09-10 12:42:32 +08:00
using Gameplay.Building.Impl.Common;
using Gameplay.Building.Impl.PillBox;
2024-09-10 12:32:44 +08:00
using UnityEngine;
namespace Gameplay.Building.Impl
2024-09-09 19:22:22 +08:00
{
public class BuildPillBox : UnitBuild
{
2024-09-10 12:32:44 +08:00
public int bulletId;
public Transform firePoint;
public int fireLineId;
2024-09-09 19:22:22 +08:00
public BuildPillBox(uint id,
int troopId) : base(id, troopId)
{
}
2024-09-09 19:42:22 +08:00
protected override void _UpdateTargets()
{
base._UpdateTargets();
_CommonUpdateTargets();
}
2024-09-10 12:32:44 +08:00
protected override void _InitFsm()
{
base._InitFsm();
_fsm.Add(new PillBoxStateIdle(this));
_fsm.Add(new PillBoxStateAttack(this));
2024-09-10 12:42:32 +08:00
_fsm.Add(new CommonBuildStateDestroy(this));
_fsm.Add(new CommonBuildStateWaitRemove(this));
2024-09-10 12:32:44 +08:00
}
protected override void _AfterInitConfig()
{
base._AfterInitConfig();
fightData.normalAttackDistance = Mathf.RoundToInt(configData.rawConfig.FloatParams[0]);
fightData.baseShootCd = configData.rawConfig.FloatParams[1];
fightData.shootCd = fightData.baseShootCd;
bulletId = Mathf.RoundToInt(configData.rawConfig.FloatParams[2]);
fireLineId = Mathf.RoundToInt(configData.rawConfig.FloatParams[3]);
}
protected override void _AfterCreateView()
{
base._AfterCreateView();
var obj = _node.GameObject;
firePoint = obj.transform.Find("build_anbao/view/fire_point");
if (firePoint == null)
{
DebugUtil.LogError("找不到开火点");
firePoint = obj.transform;
}
}
2024-09-09 19:22:22 +08:00
}
}