Files
zeling_v2/Assets/_Game/Scripts/Enemies/AI/BD_EnterPhase.cs
Joywayer a1b4e629aa feat: Implement Room Streaming System
- Add RoomStreamingManager to manage room loading and unloading based on player proximity.
- Create StreamingBudgetConfigSO for memory and performance budgeting of the streaming system.
- Introduce TransitionDirector to handle seamless and atmospheric fade transitions between rooms.
- Develop WorldGraph to represent room connectivity and facilitate neighbor queries and distance calculations.
- Implement RoomNode and RoomEdge classes to structure room data and connections.
2026-05-23 19:10:29 +08:00

36 lines
1.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#if GRAPH_DESIGNER
using Opsive.BehaviorDesigner.Runtime.Tasks;
using Opsive.BehaviorDesigner.Runtime.Tasks.Actions;
using BaseGames.Enemies;
namespace BaseGames.Enemies.AI
{
/// <summary>
/// BD ActionBoss 切换阶段Phase
/// 调用 BossBase.EnterPhase(PhaseIndex),单帧完成,返回 Success。
/// </summary>
[TaskName("Enter Boss Phase")]
[TaskCategory("BaseGames/Enemy/Boss")]
[TaskDescription("立即切换 Boss 到目标阶段序号(单帧完成)")]
public class BD_EnterPhase : Action
{
[UnityEngine.SerializeField] private int m_PhaseIndex = 1;
private BossBase _boss;
public override void OnAwake() => _boss = GetComponent<BossBase>();
public override void OnStart()
{
// 阶段切换是单帧操作,在 OnStart 完成OnUpdate 仅汇报结果
_boss?.EnterPhase(m_PhaseIndex);
}
public override TaskStatus OnUpdate()
{
return _boss == null ? TaskStatus.Failure : TaskStatus.Success;
}
}
}
#endif