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.
This commit is contained in:
37
Assets/_Game/Scripts/Enemies/AI/BDTaskAttributes.cs
Normal file
37
Assets/_Game/Scripts/Enemies/AI/BDTaskAttributes.cs
Normal file
@@ -0,0 +1,37 @@
|
||||
#if GRAPH_DESIGNER
|
||||
using System;
|
||||
|
||||
namespace BaseGames.Enemies.AI
|
||||
{
|
||||
/// <summary>
|
||||
/// 指定 BD Task 在编辑器任务面板中显示的名称。
|
||||
/// 本版本 BehaviorDesigner 不内置此特性,由项目自行定义以保持代码可读性与前向兼容性。
|
||||
/// </summary>
|
||||
[AttributeUsage(AttributeTargets.Class, Inherited = false)]
|
||||
public sealed class TaskNameAttribute : Attribute
|
||||
{
|
||||
public string Name { get; }
|
||||
public TaskNameAttribute(string name) => Name = name;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 指定 BD Task 在编辑器任务面板中所属分类(路径形式,如 "BaseGames/Enemy/Combat")。
|
||||
/// </summary>
|
||||
[AttributeUsage(AttributeTargets.Class, Inherited = false)]
|
||||
public sealed class TaskCategoryAttribute : Attribute
|
||||
{
|
||||
public string Category { get; }
|
||||
public TaskCategoryAttribute(string category) => Category = category;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 为 BD Task 提供编辑器 Tooltip 描述文本。
|
||||
/// </summary>
|
||||
[AttributeUsage(AttributeTargets.Class, Inherited = false)]
|
||||
public sealed class TaskDescriptionAttribute : Attribute
|
||||
{
|
||||
public string Description { get; }
|
||||
public TaskDescriptionAttribute(string description) => Description = description;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user