using System; namespace TheGame { public class GameSeed { public string SeedValue { get; set; } public DateTime CreatedDate { get; set; } public string DisplayName { get; set; } public GameSeed() { SeedValue = GenerateNewSeed(); CreatedDate = DateTime.Now; DisplayName = $"Game {CreatedDate:yyyy-MM-dd HH:mm}"; } public GameSeed(string customSeed, string displayName = "") { SeedValue = customSeed; CreatedDate = DateTime.Now; DisplayName = string.IsNullOrEmpty(displayName) ? $"Game {CreatedDate:yyyy-MM-dd HH:mm}" : displayName; } private static string GenerateNewSeed() { // Generera en 8-tecken seed baserad på timestamp och random var random = new Random(); var timestamp = DateTime.Now.Ticks; var combined = timestamp + random.Next(1000, 9999); // Konvertera till hexadecimal och ta första 8 tecknen return Math.Abs(combined).ToString("X")[..8]; } public override string ToString() { return $"{DisplayName} (Seed: {SeedValue})"; } public override bool Equals(object obj) { if (obj is GameSeed other) { return SeedValue.Equals(other.SeedValue); } return false; } public override int GetHashCode() { return SeedValue.GetHashCode(); } } }