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 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" }; }