PKHeX/PKHeX.Core/Saves/Util/IGCSaveFile.cs
Kurt fc754b346b
File scoped namespaces (#3529)
[Language Reference](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-10.0/file-scoped-namespaces)

Updates all the files, one less level of indentation.

Some small changes were made to API surfaces, renaming `PKM pkm` -> `PKM pk`, and `LegalityAnalysis.pkm` -> `LegalityAnalysis.Entity`
2022-06-18 11:04:24 -07:00

30 lines
909 B
C#

namespace PKHeX.Core;
/// <summary>
/// GameCube save file interface for memory cards.
/// </summary>
public interface IGCSaveFile
{
/// <summary>
/// GameCube Memory Card the save file was read from.
/// </summary>
SAV3GCMemoryCard? MemoryCard { get; }
}
public static class GCSaveExtensions
{
/// <summary>
/// Gets an export filter for a GameCube file.
/// </summary>
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.MemoryCard is not null ? memcard + regular : regular;
}
/// <summary>
/// Gets the export extension for a GameCube file.
/// </summary>
public static string GCExtension(this IGCSaveFile gc) => gc.MemoryCard is not null ? ".raw" : ".gci";
}