namespace PKHeX.Core { /// /// GameCube save file interface for memory cards. /// public interface IGCSaveFile { bool IsMemoryCardSave { get; } } public static class GCSaveExtensions { /// /// Gets an export filter for a GameCube file. /// public static string GCFilter(this IGCSaveFile gc) { const string regular = "GameCube Save File|*.gci|All Files|*.*"; const string memcard = "Memory Card Raw File|*.raw|Memory Card Binary File|*.bin|"; return gc.IsMemoryCardSave ? memcard + regular : regular; } /// /// Gets the export extension for a GameCube file. /// public static string GCExtension(this IGCSaveFile gc) => gc.IsMemoryCardSave ? ".raw" : ".gci"; } }