Remove OfflineListInfo

This commit is contained in:
Matt Nadareski
2024-10-30 14:08:23 -04:00
parent cbaf20ed6c
commit 895a98169c
4 changed files with 3 additions and 286 deletions

View File

@@ -68,153 +68,7 @@ namespace SabreTools.DatFiles
if (item.ContainsKey(Models.Metadata.Header.InfosKey))
{
var infos = item.Read<Models.OfflineList.Infos>(Models.Metadata.Header.InfosKey);
if (infos != null)
{
var offlineListInfos = new List<OfflineListInfo>();
if (infos.Title != null)
{
offlineListInfos.Add(new OfflineListInfo
{
Name = "title",
Visible = infos.Title.Visible.AsYesNo(),
InNamingOption = infos.Title.InNamingOption.AsYesNo(),
Default = infos.Title.Default.AsYesNo(),
});
}
if (infos.Location != null)
{
offlineListInfos.Add(new OfflineListInfo
{
Name = "location",
Visible = infos.Location.Visible.AsYesNo(),
InNamingOption = infos.Location.InNamingOption.AsYesNo(),
Default = infos.Location.Default.AsYesNo(),
});
}
if (infos.Publisher != null)
{
offlineListInfos.Add(new OfflineListInfo
{
Name = "publisher",
Visible = infos.Publisher.Visible.AsYesNo(),
InNamingOption = infos.Publisher.InNamingOption.AsYesNo(),
Default = infos.Publisher.Default.AsYesNo(),
});
}
if (infos.SourceRom != null)
{
offlineListInfos.Add(new OfflineListInfo
{
Name = "sourceRom",
Visible = infos.SourceRom.Visible.AsYesNo(),
InNamingOption = infos.SourceRom.InNamingOption.AsYesNo(),
Default = infos.SourceRom.Default.AsYesNo(),
});
}
if (infos.SaveType != null)
{
offlineListInfos.Add(new OfflineListInfo
{
Name = "saveType",
Visible = infos.SaveType.Visible.AsYesNo(),
InNamingOption = infos.SaveType.InNamingOption.AsYesNo(),
Default = infos.SaveType.Default.AsYesNo(),
});
}
if (infos.RomSize != null)
{
offlineListInfos.Add(new OfflineListInfo
{
Name = "romSize",
Visible = infos.RomSize.Visible.AsYesNo(),
InNamingOption = infos.RomSize.InNamingOption.AsYesNo(),
Default = infos.RomSize.Default.AsYesNo(),
});
}
if (infos.ReleaseNumber != null)
{
offlineListInfos.Add(new OfflineListInfo
{
Name = "releaseNumber",
Visible = infos.ReleaseNumber.Visible.AsYesNo(),
InNamingOption = infos.ReleaseNumber.InNamingOption.AsYesNo(),
Default = infos.ReleaseNumber.Default.AsYesNo(),
});
}
if (infos.ImageNumber != null)
{
offlineListInfos.Add(new OfflineListInfo
{
Name = "imageNumber",
Visible = infos.ImageNumber.Visible.AsYesNo(),
InNamingOption = infos.ImageNumber.InNamingOption.AsYesNo(),
Default = infos.ImageNumber.Default.AsYesNo(),
});
}
if (infos.LanguageNumber != null)
{
offlineListInfos.Add(new OfflineListInfo
{
Name = "languageNumber",
Visible = infos.LanguageNumber.Visible.AsYesNo(),
InNamingOption = infos.LanguageNumber.InNamingOption.AsYesNo(),
Default = infos.LanguageNumber.Default.AsYesNo(),
});
}
if (infos.Comment != null)
{
offlineListInfos.Add(new OfflineListInfo
{
Name = "comment",
Visible = infos.Comment.Visible.AsYesNo(),
InNamingOption = infos.Comment.InNamingOption.AsYesNo(),
Default = infos.Comment.Default.AsYesNo(),
});
}
if (infos.RomCRC != null)
{
offlineListInfos.Add(new OfflineListInfo
{
Name = "romCRC",
Visible = infos.RomCRC.Visible.AsYesNo(),
InNamingOption = infos.RomCRC.InNamingOption.AsYesNo(),
Default = infos.RomCRC.Default.AsYesNo(),
});
}
if (infos.Im1CRC != null)
{
offlineListInfos.Add(new OfflineListInfo
{
Name = "im1CRC",
Visible = infos.Im1CRC.Visible.AsYesNo(),
InNamingOption = infos.Im1CRC.InNamingOption.AsYesNo(),
Default = infos.Im1CRC.Default.AsYesNo(),
});
}
if (infos.Im2CRC != null)
{
offlineListInfos.Add(new OfflineListInfo
{
Name = "im2CRC",
Visible = infos.Im2CRC.Visible.AsYesNo(),
InNamingOption = infos.Im2CRC.InNamingOption.AsYesNo(),
Default = infos.Im2CRC.Default.AsYesNo(),
});
}
if (infos.Languages != null)
{
offlineListInfos.Add(new OfflineListInfo
{
Name = "languages",
Visible = infos.Languages.Visible.AsYesNo(),
InNamingOption = infos.Languages.InNamingOption.AsYesNo(),
Default = infos.Languages.Default.AsYesNo(),
});
}
Header.SetFieldValue<OfflineListInfo[]?>(Models.Metadata.Header.InfosKey, [.. offlineListInfos]);
}
Header.SetFieldValue<Models.OfflineList.Infos?>(Models.Metadata.Header.InfosKey, infos);
}
if (item.ContainsKey(Models.Metadata.Header.NewDatKey))
{

View File

@@ -85,130 +85,7 @@ namespace SabreTools.DatFiles
if (Header.ImagesSpecified)
header[Models.Metadata.Header.ImagesKey] = Header.GetFieldValue<Models.OfflineList.Images>(Models.Metadata.Header.ImagesKey);
if (Header.InfosSpecified)
{
var infoItem = new Models.OfflineList.Infos();
var infos = Header.GetFieldValue<OfflineListInfo[]?>(Models.Metadata.Header.InfosKey)!;
foreach (var info in infos)
{
switch (info.Name)
{
case "title":
infoItem.Title = new Models.OfflineList.Title
{
Visible = info.Visible.FromYesNo(),
InNamingOption = info.InNamingOption.FromYesNo(),
Default = info.Default.FromYesNo(),
};
break;
case "location":
infoItem.Location = new Models.OfflineList.Location
{
Visible = info.Visible.FromYesNo(),
InNamingOption = info.InNamingOption.FromYesNo(),
Default = info.Default.FromYesNo(),
};
break;
case "publisher":
infoItem.Publisher = new Models.OfflineList.Publisher
{
Visible = info.Visible.FromYesNo(),
InNamingOption = info.InNamingOption.FromYesNo(),
Default = info.Default.FromYesNo(),
};
break;
case "sourceRom":
infoItem.SourceRom = new Models.OfflineList.SourceRom
{
Visible = info.Visible.FromYesNo(),
InNamingOption = info.InNamingOption.FromYesNo(),
Default = info.Default.FromYesNo(),
};
break;
case "saveType":
infoItem.SaveType = new Models.OfflineList.SaveType
{
Visible = info.Visible.FromYesNo(),
InNamingOption = info.InNamingOption.FromYesNo(),
Default = info.Default.FromYesNo(),
};
break;
case "romSize":
infoItem.RomSize = new Models.OfflineList.RomSize
{
Visible = info.Visible.FromYesNo(),
InNamingOption = info.InNamingOption.FromYesNo(),
Default = info.Default.FromYesNo(),
};
break;
case "releaseNumber":
infoItem.ReleaseNumber = new Models.OfflineList.ReleaseNumber
{
Visible = info.Visible.FromYesNo(),
InNamingOption = info.InNamingOption.FromYesNo(),
Default = info.Default.FromYesNo(),
};
break;
case "imageNumber":
infoItem.ImageNumber = new Models.OfflineList.ImageNumber
{
Visible = info.Visible.FromYesNo(),
InNamingOption = info.InNamingOption.FromYesNo(),
Default = info.Default.FromYesNo(),
};
break;
case "languageNumber":
infoItem.LanguageNumber = new Models.OfflineList.LanguageNumber
{
Visible = info.Visible.FromYesNo(),
InNamingOption = info.InNamingOption.FromYesNo(),
Default = info.Default.FromYesNo(),
};
break;
case "comment":
infoItem.Comment = new Models.OfflineList.Comment
{
Visible = info.Visible.FromYesNo(),
InNamingOption = info.InNamingOption.FromYesNo(),
Default = info.Default.FromYesNo(),
};
break;
case "romCRC":
infoItem.RomCRC = new Models.OfflineList.RomCRC
{
Visible = info.Visible.FromYesNo(),
InNamingOption = info.InNamingOption.FromYesNo(),
Default = info.Default.FromYesNo(),
};
break;
case "im1CRC":
infoItem.Im1CRC = new Models.OfflineList.Im1CRC
{
Visible = info.Visible.FromYesNo(),
InNamingOption = info.InNamingOption.FromYesNo(),
Default = info.Default.FromYesNo(),
};
break;
case "im2CRC":
infoItem.Im2CRC = new Models.OfflineList.Im2CRC
{
Visible = info.Visible.FromYesNo(),
InNamingOption = info.InNamingOption.FromYesNo(),
Default = info.Default.FromYesNo(),
};
break;
case "languages":
infoItem.Languages = new Models.OfflineList.Languages
{
Visible = info.Visible.FromYesNo(),
InNamingOption = info.InNamingOption.FromYesNo(),
Default = info.Default.FromYesNo(),
};
break;
}
}
header[Models.Metadata.Header.InfosKey] = infoItem;
}
header[Models.Metadata.Header.InfosKey] = Header.GetFieldValue<Models.OfflineList.Infos>(Models.Metadata.Header.InfosKey);
if (Header.NewDatSpecified)
{
var newDat = new Models.OfflineList.NewDat

View File

@@ -106,7 +106,7 @@ namespace SabreTools.DatFiles
{
get
{
var infos = GetFieldValue<OfflineListInfo[]?>(Models.Metadata.Header.InfosKey);
var infos = GetFieldValue<Models.OfflineList.InfoBase[]?>(Models.Metadata.Header.InfosKey);
return infos != null && infos.Length > 0;
}
}

View File

@@ -1,14 +0,0 @@
namespace SabreTools.DatFiles
{
/// <summary>
/// Represents one OfflineList infos object
/// </summary>
public class OfflineListInfo
{
[Models.Required]
public string? Name { get; set; }
public bool? Visible { get; set; }
public bool? InNamingOption { get; set; }
public bool? Default { get; set; }
}
}