PalacePal/Pal.Client/Rendering/MarkerConfig.cs

25 lines
934 B
C#
Raw Normal View History

2023-02-08 15:06:43 +00:00
using System.Collections.Generic;
2023-02-18 20:12:36 +00:00
using Pal.Client.Floors;
2023-02-08 15:06:43 +00:00
namespace Pal.Client.Rendering
{
2023-02-15 22:17:19 +00:00
internal sealed class MarkerConfig
2023-02-08 15:06:43 +00:00
{
2023-02-11 20:10:45 +00:00
private static readonly MarkerConfig EmptyConfig = new();
2023-02-18 20:12:36 +00:00
private static readonly Dictionary<MemoryLocation.EType, MarkerConfig> MarkerConfigs = new()
2023-02-08 15:06:43 +00:00
{
2023-02-18 20:12:36 +00:00
{ MemoryLocation.EType.Trap, new MarkerConfig { Radius = 1.7f } },
{ MemoryLocation.EType.Hoard, new MarkerConfig { Radius = 1.7f, OffsetY = -0.03f } },
{ MemoryLocation.EType.SilverCoffer, new MarkerConfig { Radius = 1f } },
2023-02-26 16:31:37 +00:00
{ MemoryLocation.EType.GoldCoffer, new MarkerConfig { Radius = 1f } },
2023-02-08 15:06:43 +00:00
};
2023-02-15 22:17:19 +00:00
public float OffsetY { get; private init; }
public float Radius { get; private init; } = 0.25f;
2023-02-08 15:06:43 +00:00
2023-02-18 20:12:36 +00:00
public static MarkerConfig ForType(MemoryLocation.EType type) =>
MarkerConfigs.GetValueOrDefault(type, EmptyConfig);
2023-02-08 15:06:43 +00:00
}
}