reckfellENGINE

NavigationRegion2D

Проходимая 2D-область, которую NavigationAgent2D может использовать для поиска пути.

На этой странице
class NavigationRegion2DReckfellSharpНаследует Entity2D

Проходимая 2D-область, которую NavigationAgent2D может использовать для поиска пути.

Проходимая 2D-область на основе NavigationPolygon, которую NavigationAgent2Ds может использовать для поиска пути. Два региона могут быть соединены друг с другом, если они имеют общее ребро. Вы можете установить минимальное расстояние между двумя вершинами, необходимое для соединения двух ребер, с помощью NavigationServer2D.MapSetEdgeConnectionMargin. Примечание: Перекрытие навигационных полигонов двух регионов недостаточно для соединения двух регионов. Они должны иметь общее ребро. Стоимость поиска пути при входе в регион из другого региона можно контролировать с помощью значения NavigationRegion2D.EnterCost. Примечание: Это значение не добавляется к стоимости пути, если начальная позиция уже находится внутри этого региона. Стоимость поиска пути при перемещении на расстояние внутри этого региона можно контролировать с помощью множителя NavigationRegion2D.TravelCost. Примечание: Этот узел кэширует изменения своих свойств, поэтому если вы вносите изменения в базовый регион Rid в NavigationServer2D, они не будут отражены в свойствах этого узла.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Конструкторы1

NavigationRegion2DКонструктор
# NavigationRegion2D
C#
public NavigationRegion2D();

Свойства6

EnabledСвойство
# Enabled
C#
public bool Enabled { get; set; }

Определяет, включен или отключен NavigationRegion2D.

EnterCostСвойство
# EnterCost
C#
public float EnterCost { get; set; }

Когда поиск путей входит в судоходную сетку этого региона из судовождения другого региона, ценность этого участка увеличивается к расстоянию пути, используемому для определения самого короткого пути.

NavigationLayersСвойство
# NavigationLayers
C#
public uint NavigationLayers { get; set; }

Битовое поле, определяющее все навигационные слои, к которым принадлежит регион. Эти навигационные слои можно проверить при запросе пути с помощью NavigationServer2D.MapGetPath.

NavigationPolygonСвойство
# NavigationPolygon
C#
public NavigationPolygon NavigationPolygon { get; set; }

Ресурс NavigationPolygon для использования.

TravelCostСвойство
# TravelCost
C#
public float TravelCost { get; set; }

При поиске пути внутри навигационной сетки этого региона пройденные расстояния умножаются на NavigationRegion2D.TravelCost для определения кратчайшего пути.

UseEdgeConnectionsСвойство
# UseEdgeConnections
C#
public bool UseEdgeConnections { get; set; }

Если этот параметр включен, навигационная область будет использовать краевые соединения для соединения с другими навигационными областями, находящимися в непосредственной близости от границы краевых соединений навигационной карты.

Методы21

BakeNavigationPolygonvoid
# BakeNavigationPolygon
C#
public void BakeNavigationPolygon(bool onThread = true);

Запекает NavigationPolygon. Если on_thread установлен в true (по умолчанию), запекание выполняется в отдельном потоке.

Параметры
ИмяТипПо умолчанию
onThreadbooltrue
GetBoundsRect2
# GetBounds
C#
public Rect2 GetBounds();

Возвращает выровненный по осям прямоугольник для преобразованной навигационной сетки региона.

Возвращает Rect2
GetEnterCostfloat
# GetEnterCost
C#
public float GetEnterCost();
Возвращает float
GetNavigationLayerValuebool
# GetNavigationLayerValue
C#
public bool GetNavigationLayerValue(int layerNumber);

Возвращает, включен ли указанный слой битовой маски NavigationRegion2D.NavigationLayers, учитывая layer_number от 1 до 32.

Параметры
ИмяТипПо умолчанию
layerNumberint—
Возвращает bool
GetNavigationLayersuint
# GetNavigationLayers
C#
public uint GetNavigationLayers();
Возвращает uint
GetNavigationMapRid
# GetNavigationMap
C#
public Rid GetNavigationMap();

Возвращает текущую навигационную карту Rid, используемую в этом регионе.

Возвращает Rid
GetNavigationPolygonNavigationPolygon
# GetNavigationPolygon
C#
public NavigationPolygon GetNavigationPolygon();
Возвращает NavigationPolygon
GetRegionRidRid · Устарело
# GetRegionRid
C#
public Rid GetRegionRid();

Возвращает Rid этого региона на NavigationServer2D.

Возвращает Rid
GetRidRid
# GetRid
C#
public Rid GetRid();

Возвращает Rid этого региона на NavigationServer2D. В сочетании с NavigationServer2D.MapGetClosestPointOwner может использоваться для определения NavigationRegion2D, ближайшего к точке на объединенной навигационной карте.

Возвращает Rid
GetTravelCostfloat
# GetTravelCost
C#
public float GetTravelCost();
Возвращает float
GetUseEdgeConnectionsbool
# GetUseEdgeConnections
C#
public bool GetUseEdgeConnections();
Возвращает bool
IsBakingbool
# IsBaking
C#
public bool IsBaking();

Возвращает true, когда NavigationPolygon запекается в фоновом потоке.

Возвращает bool
IsEnabledbool
# IsEnabled
C#
public bool IsEnabled();
Возвращает bool
SetEnabledvoid
# SetEnabled
C#
public void SetEnabled(bool enabled);
Параметры
ИмяТипПо умолчанию
enabledbool—
SetEnterCostvoid
# SetEnterCost
C#
public void SetEnterCost(float enterCost);
Параметры
ИмяТипПо умолчанию
enterCostfloat—
SetNavigationLayerValuevoid
# SetNavigationLayerValue
C#
public void SetNavigationLayerValue(int layerNumber, bool value);

На основе value включает или отключает указанный слой в битовой маске NavigationRegion2D.NavigationLayers, учитывая layer_number от 1 до 32.

Параметры
ИмяТипПо умолчанию
layerNumberint—
valuebool—
SetNavigationLayersvoid
# SetNavigationLayers
C#
public void SetNavigationLayers(uint navigationLayers);
Параметры
ИмяТипПо умолчанию
navigationLayersuint—
SetNavigationMapvoid
# SetNavigationMap
C#
public void SetNavigationMap(Rid navigationMap);

Устанавливает Rid навигационной карты, которую должен использовать этот регион. По умолчанию регион автоматически присоединится к навигационной карте по умолчанию World2D, поэтому эта функция требуется только для переопределения карты по умолчанию.

Параметры
ИмяТипПо умолчанию
navigationMapRid—
SetNavigationPolygonvoid
# SetNavigationPolygon
C#
public void SetNavigationPolygon(NavigationPolygon navigationPolygon);
Параметры
ИмяТипПо умолчанию
navigationPolygonNavigationPolygon—
SetTravelCostvoid
# SetTravelCost
C#
public void SetTravelCost(float travelCost);
Параметры
ИмяТипПо умолчанию
travelCostfloat—
SetUseEdgeConnectionsvoid
# SetUseEdgeConnections
C#
public void SetUseEdgeConnections(bool enabled);
Параметры
ИмяТипПо умолчанию
enabledbool—

Сигналы и события2

BakeFinishedСобытие
# BakeFinished
C#
public event Action BakeFinished;

Выдается после завершения операции запекания навигационного полигона.

NavigationPolygonChangedСобытие
# NavigationPolygonChanged
C#
public event Action NavigationPolygonChanged;

Выдается при замене используемого навигационного полигона или при внесении изменений во внутренние компоненты текущего навигационного полигона.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.