qstbak/Questionable.Model/Questionable.Model.Gathering/GatheringLocation.cs
2025-10-09 07:47:19 +10:00

42 lines
798 B
C#

using System;
using System.Numerics;
using System.Text.Json.Serialization;
using Questionable.Model.Common.Converter;
namespace Questionable.Model.Gathering;
public sealed class GatheringLocation
{
[JsonIgnore]
public Guid InternalId { get; } = Guid.NewGuid();
[JsonConverter(typeof(VectorConverter))]
public Vector3 Position { get; set; }
public int? MinimumAngle { get; set; }
public int? MaximumAngle { get; set; }
public float? MinimumDistance { get; set; }
public float? MaximumDistance { get; set; }
public bool IsCone()
{
if (MinimumAngle.HasValue)
{
return MaximumAngle.HasValue;
}
return false;
}
public float CalculateMinimumDistance()
{
return MinimumDistance ?? 1f;
}
public float CalculateMaximumDistance()
{
return MaximumDistance ?? 3f;
}
}