2023-01-14 11:31:39 -05:00

49 lines
1.6 KiB
C#

using AssetRipper.SourceGenerated.Subclasses.NavMeshBuildSettings;
using AssetRipper.SourceGenerated.Subclasses.NavMeshParams;
namespace AssetRipper.SourceGenerated.Extensions
{
public static class NavMeshBuildSettingsExtensions
{
public static void SetToDefault(this INavMeshBuildSettings settings)
{
settings.AgentTypeID = 0;
settings.AgentRadius = 0.5f;
settings.AgentHeight = 2.0f;
settings.AgentSlope = 45.0f;
settings.AgentClimb = 0.4f;
settings.LedgeDropHeight = 0.0f;
settings.MaxJumpAcrossDistance = 0.0f;
settings.MinRegionArea = 2.0f;
settings.ManualCellSize_Int32 = 0;
settings.ManualCellSize_Boolean = false;
settings.CellSize = 1.0f / 6.0f;
settings.ManualTileSize_Int32 = 0;
settings.ManualTileSize_Boolean = false;
settings.TileSize = 256;
settings.AccuratePlacement_Int32 = 0;
settings.AccuratePlacement_Boolean = false;
settings.MaxJobWorkers = 0;
settings.PreserveTilesOutsideBounds = 0;
}
public static void SetValues(this INavMeshBuildSettings settings, float agentClimb, float cellSize)
{
settings.AgentClimb = agentClimb;
settings.ManualCellSize_Int32 = 1;
settings.ManualCellSize_Boolean = true;
settings.CellSize = cellSize;
}
public static void SetValues(this INavMeshBuildSettings settings, INavMeshParams navParams)
{
settings.SetToDefault();
settings.AgentRadius = navParams.WalkableRadius;
settings.AgentHeight = navParams.WalkableHeight;
settings.AgentClimb = navParams.WalkableClimb;
settings.TileSize = (int)navParams.TileSize;
settings.CellSize = navParams.CellSize;
}
}
}