30 lines
742 B
C#
30 lines
742 B
C#
using System.Collections.Generic;
|
|
using Unity.Mathematics;
|
|
|
|
namespace DanieleMarotta.RiversongCodeShowcase
|
|
{
|
|
public class BuildToolValidator
|
|
{
|
|
private readonly World _world;
|
|
|
|
private readonly int _baseElevation;
|
|
|
|
public BuildToolValidator(World world, int baseElevation)
|
|
{
|
|
_world = world;
|
|
_baseElevation = baseElevation;
|
|
}
|
|
|
|
public bool ValidatePlacement(List<int2> affectedTiles)
|
|
{
|
|
foreach (var tile in affectedTiles)
|
|
{
|
|
if (_world.Heightmap.GetValue(tile) != _baseElevation) return false;
|
|
|
|
if (_world.BlockMap.IsBlocked(tile)) return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
}
|
|
} |