45 lines
1.1 KiB
C#
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"
|
|
};
|
|
}
|