- 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.
38 lines
1.3 KiB
C#
38 lines
1.3 KiB
C#
#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
|