Files
SlaySharp/src/SlaySharp.Core/Run/MapNode.cs
T
2026-09-16 23:37:16 +02:00

45 lines
1.1 KiB
C#

namespace SlaySharp.Core.Run;
public enum MapNodeType
{
Combat,
Elite,
RestSite,
Shop,
MysteryEvent,
Boss
}
public class MapNode
{
public string Id { get; set; } = Guid.NewGuid().ToString("N")[..8];
public int Floor { get; set; }
public int Column { get; set; }
public MapNodeType Type { get; set; }
public string Title { get; set; } = string.Empty;
public string Description { get; set; } = string.Empty;
public List<string> NextNodeIds { get; set; } = new();
public string Icon => Type switch
{
MapNodeType.Combat => "⚔️",
MapNodeType.Elite => "☠️",
MapNodeType.RestSite => "☕",
MapNodeType.Shop => "🛒",
MapNodeType.MysteryEvent => "❓",
MapNodeType.Boss => "👑",
_ => "📍"
};
public string BadgeColor => Type switch
{
MapNodeType.Combat => "#61afef",
MapNodeType.Elite => "#e06c75",
MapNodeType.RestSite => "#98c379",
MapNodeType.Shop => "#e5c07b",
MapNodeType.MysteryEvent => "#c678dd",
MapNodeType.Boss => "#ff4757",
_ => "#abb2bf"
};
}