mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-07-08 18:06:41 +00:00
Convert Input mostly over to properties
This commit is contained in:
@@ -286,6 +286,9 @@ namespace SabreTools.Data.Extensions
|
||||
}
|
||||
else if (self is Input selfInput && clone is Input cloneInput)
|
||||
{
|
||||
cloneInput.Buttons = selfInput.Buttons;
|
||||
cloneInput.Coins = selfInput.Coins;
|
||||
cloneInput.Players = selfInput.Players;
|
||||
cloneInput.Service = selfInput.Service;
|
||||
cloneInput.Tilt = selfInput.Tilt;
|
||||
}
|
||||
|
||||
@@ -4,19 +4,19 @@ namespace SabreTools.Data.Models.ClrMamePro
|
||||
/// <remarks>input</remarks>
|
||||
public class Input
|
||||
{
|
||||
/// <remarks>"players", Numeric/remarks>
|
||||
/// <remarks>"players"/remarks>
|
||||
[Required]
|
||||
public string? Players { get; set; }
|
||||
public long? Players { get; set; }
|
||||
|
||||
/// <remarks>"control"</remarks>
|
||||
public string? Control { get; set; }
|
||||
|
||||
/// <remarks>"buttons", Numeric</remarks>
|
||||
/// <remarks>"buttons"</remarks>
|
||||
[Required]
|
||||
public string? Buttons { get; set; }
|
||||
public long? Buttons { get; set; }
|
||||
|
||||
/// <remarks>"coins", Numeric</remarks>
|
||||
public string? Coins { get; set; }
|
||||
/// <remarks>"coins"</remarks>
|
||||
public long? Coins { get; set; }
|
||||
|
||||
/// <remarks>"tilt", (yes|no) "no"</remarks>
|
||||
public bool? Tilt { get; set; }
|
||||
|
||||
@@ -14,22 +14,20 @@ namespace SabreTools.Data.Models.Listxml
|
||||
[XmlAttribute("tilt")]
|
||||
public bool? Tilt { get; set; }
|
||||
|
||||
/// <remarks>Numeric</remarks>
|
||||
[Required]
|
||||
[XmlAttribute("players")]
|
||||
public string? Players { get; set; }
|
||||
public long? Players { get; set; }
|
||||
|
||||
/// <remarks>Only present in older versions</remarks>
|
||||
[XmlAttribute("control")]
|
||||
public string? ControlAttr { get; set; }
|
||||
|
||||
/// <remarks>Only present in older versions, Numeric?</remarks>
|
||||
/// <remarks>Only present in older versions</remarks>
|
||||
[XmlAttribute("buttons")]
|
||||
public string? Buttons { get; set; }
|
||||
public long? Buttons { get; set; }
|
||||
|
||||
/// <remarks>Numeric?</remarks>
|
||||
[XmlAttribute("coins")]
|
||||
public string? Coins { get; set; }
|
||||
public long? Coins { get; set; }
|
||||
|
||||
[XmlElement("control")]
|
||||
public Control[]? Control { get; set; }
|
||||
|
||||
@@ -8,6 +8,12 @@ namespace SabreTools.Data.Models.Metadata
|
||||
{
|
||||
#region Properties
|
||||
|
||||
public long? Buttons { get; set; }
|
||||
|
||||
public long? Coins { get; set; }
|
||||
|
||||
public long? Players { get; set; }
|
||||
|
||||
/// <remarks>(yes|no) "no"</remarks>
|
||||
public bool? Service { get; set; }
|
||||
|
||||
@@ -18,18 +24,9 @@ namespace SabreTools.Data.Models.Metadata
|
||||
|
||||
#region Keys
|
||||
|
||||
/// <remarks>long</remarks>
|
||||
public const string ButtonsKey = "buttons";
|
||||
|
||||
/// <remarks>long</remarks>
|
||||
public const string CoinsKey = "coins";
|
||||
|
||||
/// <remarks>string / Control[]</remarks>
|
||||
public const string ControlKey = "control";
|
||||
|
||||
/// <remarks>long</remarks>
|
||||
public const string PlayersKey = "players";
|
||||
|
||||
#endregion
|
||||
|
||||
public Input() => ItemType = ItemType.Input;
|
||||
|
||||
@@ -662,10 +662,10 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
return new Data.Models.Metadata.Input
|
||||
{
|
||||
[Data.Models.Metadata.Input.ButtonsKey] = 12345L,
|
||||
[Data.Models.Metadata.Input.CoinsKey] = 12345L,
|
||||
Buttons = 12345,
|
||||
Coins = 12345,
|
||||
[Data.Models.Metadata.Input.ControlKey] = new Data.Models.Metadata.Control[] { CreateMetadataControl() },
|
||||
[Data.Models.Metadata.Input.PlayersKey] = 12345L,
|
||||
Players = 12345,
|
||||
Service = true,
|
||||
Tilt = true,
|
||||
};
|
||||
@@ -1413,9 +1413,9 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
private static void ValidateInput(Input? input)
|
||||
{
|
||||
Assert.NotNull(input);
|
||||
Assert.Equal(12345L, input.ReadLong(Data.Models.Metadata.Input.ButtonsKey));
|
||||
Assert.Equal(12345L, input.ReadLong(Data.Models.Metadata.Input.CoinsKey));
|
||||
Assert.Equal(12345L, input.ReadLong(Data.Models.Metadata.Input.PlayersKey));
|
||||
Assert.Equal(12345, input.Buttons);
|
||||
Assert.Equal(12345, input.Coins);
|
||||
Assert.Equal(12345, input.Players);
|
||||
Assert.True(input.Service);
|
||||
Assert.True(input.Tilt);
|
||||
|
||||
@@ -1665,8 +1665,8 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
private static void ValidateVideo(Display? display)
|
||||
{
|
||||
Assert.NotNull(display);
|
||||
Assert.Equal(12345L, display.AspectX);
|
||||
Assert.Equal(12345L, display.AspectY);
|
||||
Assert.Equal(12345, display.AspectX);
|
||||
Assert.Equal(12345, display.AspectY);
|
||||
Assert.Equal(Data.Models.Metadata.DisplayType.Vector, display.DisplayType);
|
||||
Assert.Equal(12345, display.Height);
|
||||
Assert.Equal(123.45, display.Refresh);
|
||||
|
||||
@@ -894,7 +894,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Assert.Equal(Data.Models.Metadata.SupportStatus.Good, driver.Emulation);
|
||||
Assert.True(driver.Incomplete);
|
||||
Assert.True(driver.NoSoundHardware);
|
||||
Assert.Equal("pallettesize", driver.PaletteSize);
|
||||
Assert.Equal("palettesize", driver.PaletteSize);
|
||||
Assert.True(driver.RequiresArtwork);
|
||||
Assert.Equal(Data.Models.Metadata.Supported.Yes, driver.SaveState);
|
||||
Assert.Equal(Data.Models.Metadata.SupportStatus.Good, driver.Sound);
|
||||
@@ -928,9 +928,9 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
private static void ValidateMetadataInput(Data.Models.Metadata.Input? input)
|
||||
{
|
||||
Assert.NotNull(input);
|
||||
Assert.Equal(12345, input.ReadLong(Data.Models.Metadata.Input.ButtonsKey));
|
||||
Assert.Equal(12345, input.ReadLong(Data.Models.Metadata.Input.CoinsKey));
|
||||
Assert.Equal(12345, input.ReadLong(Data.Models.Metadata.Input.PlayersKey));
|
||||
Assert.Equal(12345, input.Buttons);
|
||||
Assert.Equal(12345, input.Coins);
|
||||
Assert.Equal(12345, input.Players);
|
||||
Assert.True(input.Service);
|
||||
Assert.True(input.Tilt);
|
||||
|
||||
|
||||
@@ -229,7 +229,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
|
||||
Assert.NotNull(actual);
|
||||
Assert.True(actual.SequenceEqual([
|
||||
Data.Models.Metadata.Input.PlayersKey,
|
||||
nameof(Data.Models.Metadata.Input.Players),
|
||||
Data.Models.Metadata.Input.ControlKey,
|
||||
]));
|
||||
}
|
||||
@@ -908,7 +908,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
|
||||
Assert.NotNull(actual);
|
||||
Assert.True(actual.SequenceEqual([
|
||||
Data.Models.Metadata.Input.PlayersKey,
|
||||
nameof(Data.Models.Metadata.Input.Players),
|
||||
]));
|
||||
}
|
||||
|
||||
|
||||
@@ -152,8 +152,8 @@ namespace SabreTools.Metadata.DatFiles.Formats
|
||||
break;
|
||||
|
||||
case Input input:
|
||||
if (input.ReadLong(Data.Models.Metadata.Input.PlayersKey) is null)
|
||||
missingFields.Add(Data.Models.Metadata.Input.PlayersKey);
|
||||
if (input.Players is null)
|
||||
missingFields.Add(nameof(Data.Models.Metadata.Input.Players));
|
||||
if (!input.ControlsSpecified)
|
||||
missingFields.Add(Data.Models.Metadata.Input.ControlKey);
|
||||
break;
|
||||
|
||||
@@ -320,8 +320,8 @@ namespace SabreTools.Metadata.DatFiles.Formats
|
||||
break;
|
||||
|
||||
case Input input:
|
||||
if (input.ReadLong(Data.Models.Metadata.Input.PlayersKey) is null)
|
||||
missingFields.Add(Data.Models.Metadata.Input.PlayersKey);
|
||||
if (input.Players is null)
|
||||
missingFields.Add(nameof(Data.Models.Metadata.Input.Players));
|
||||
break;
|
||||
|
||||
case DipSwitch dipswitch:
|
||||
|
||||
@@ -13,6 +13,18 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
{
|
||||
#region Fields
|
||||
|
||||
public long? Buttons
|
||||
{
|
||||
get => (_internal as Data.Models.Metadata.Input)?.Buttons;
|
||||
set => (_internal as Data.Models.Metadata.Input)?.Buttons = value;
|
||||
}
|
||||
|
||||
public long? Coins
|
||||
{
|
||||
get => (_internal as Data.Models.Metadata.Input)?.Coins;
|
||||
set => (_internal as Data.Models.Metadata.Input)?.Coins = value;
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
public bool ControlsSpecified
|
||||
{
|
||||
@@ -27,6 +39,12 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
public override Data.Models.Metadata.ItemType ItemType
|
||||
=> Data.Models.Metadata.ItemType.Input;
|
||||
|
||||
public long? Players
|
||||
{
|
||||
get => (_internal as Data.Models.Metadata.Input)?.Players;
|
||||
set => (_internal as Data.Models.Metadata.Input)?.Players = value;
|
||||
}
|
||||
|
||||
public bool? Service
|
||||
{
|
||||
get => (_internal as Data.Models.Metadata.Input)?.Service;
|
||||
@@ -47,19 +65,6 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
|
||||
public Input(Data.Models.Metadata.Input item) : base(item)
|
||||
{
|
||||
// Process flag values
|
||||
long? buttons = ReadLong(Data.Models.Metadata.Input.ButtonsKey);
|
||||
if (buttons is not null)
|
||||
Write<string?>(Data.Models.Metadata.Input.ButtonsKey, buttons.ToString());
|
||||
|
||||
long? coins = ReadLong(Data.Models.Metadata.Input.CoinsKey);
|
||||
if (coins is not null)
|
||||
Write<string?>(Data.Models.Metadata.Input.CoinsKey, coins.ToString());
|
||||
|
||||
long? players = ReadLong(Data.Models.Metadata.Input.PlayersKey);
|
||||
if (players is not null)
|
||||
Write<string?>(Data.Models.Metadata.Input.PlayersKey, players.ToString());
|
||||
|
||||
// Handle subitems
|
||||
var controls = item.ReadArray<Data.Models.Metadata.Control>(Data.Models.Metadata.Input.ControlKey);
|
||||
if (controls is not null)
|
||||
|
||||
@@ -714,6 +714,15 @@ namespace SabreTools.Metadata.Filter
|
||||
checkValue = item.Value;
|
||||
return true;
|
||||
|
||||
case Input item when fieldName == "buttons":
|
||||
checkValue = item.Buttons?.ToString();
|
||||
return true;
|
||||
case Input item when fieldName == "coins":
|
||||
checkValue = item.Coins?.ToString();
|
||||
return true;
|
||||
case Input item when fieldName == "players":
|
||||
checkValue = item.Players?.ToString();
|
||||
return true;
|
||||
case Input item when fieldName == "service":
|
||||
checkValue = item.Service.FromYesNo();
|
||||
return true;
|
||||
|
||||
@@ -254,6 +254,12 @@ namespace SabreTools.Metadata
|
||||
}
|
||||
else if (self is Input selfInput && other is Input otherInput)
|
||||
{
|
||||
if (selfInput.Buttons != otherInput.Buttons)
|
||||
return false;
|
||||
if (selfInput.Coins != otherInput.Coins)
|
||||
return false;
|
||||
if (selfInput.Players != otherInput.Players)
|
||||
return false;
|
||||
if (selfInput.Service != otherInput.Service)
|
||||
return false;
|
||||
if (selfInput.Tilt != otherInput.Tilt)
|
||||
|
||||
@@ -180,10 +180,10 @@ namespace SabreTools.Serialization.CrossModel.Test
|
||||
|
||||
var input = new Data.Models.ClrMamePro.Input
|
||||
{
|
||||
Players = "XXXXXX",
|
||||
Players = 12345,
|
||||
Control = "XXXXXX",
|
||||
Buttons = "XXXXXX",
|
||||
Coins = "XXXXXX",
|
||||
Buttons = 12345,
|
||||
Coins = 12345,
|
||||
Tilt = true,
|
||||
Service = true,
|
||||
};
|
||||
@@ -475,10 +475,10 @@ namespace SabreTools.Serialization.CrossModel.Test
|
||||
private static void Validate(Data.Models.ClrMamePro.Input? input)
|
||||
{
|
||||
Assert.NotNull(input);
|
||||
Assert.Equal("XXXXXX", input.Players);
|
||||
Assert.Equal(12345, input.Players);
|
||||
Assert.Equal("XXXXXX", input.Control);
|
||||
Assert.Equal("XXXXXX", input.Buttons);
|
||||
Assert.Equal("XXXXXX", input.Coins);
|
||||
Assert.Equal(12345, input.Buttons);
|
||||
Assert.Equal(12345, input.Coins);
|
||||
Assert.Equal(true, input.Tilt);
|
||||
Assert.Equal(true, input.Service);
|
||||
}
|
||||
|
||||
@@ -172,10 +172,10 @@ namespace SabreTools.Serialization.CrossModel.Test
|
||||
{
|
||||
Service = true,
|
||||
Tilt = true,
|
||||
Players = "XXXXXX",
|
||||
Players = 12345,
|
||||
//ControlAttr = "XXXXXX", // Mututally exclusive with input.Control
|
||||
Buttons = "XXXXXX",
|
||||
Coins = "XXXXXX",
|
||||
Buttons = 12345,
|
||||
Coins = 12345,
|
||||
Control = [control],
|
||||
};
|
||||
|
||||
@@ -600,10 +600,10 @@ namespace SabreTools.Serialization.CrossModel.Test
|
||||
Assert.NotNull(input);
|
||||
Assert.Equal(true, input.Service);
|
||||
Assert.Equal(true, input.Tilt);
|
||||
Assert.Equal("XXXXXX", input.Players);
|
||||
Assert.Equal(12345, input.Players);
|
||||
//Assert.Equal("XXXXXX", input.ControlAttr); // Mututally exclusive with input.Control
|
||||
Assert.Equal("XXXXXX", input.Buttons);
|
||||
Assert.Equal("XXXXXX", input.Coins);
|
||||
Assert.Equal(12345, input.Buttons);
|
||||
Assert.Equal(12345, input.Coins);
|
||||
|
||||
Assert.NotNull(input.Control);
|
||||
var control = Assert.Single(input.Control);
|
||||
|
||||
@@ -168,10 +168,10 @@ namespace SabreTools.Serialization.CrossModel.Test
|
||||
{
|
||||
Service = true,
|
||||
Tilt = true,
|
||||
Players = "XXXXXX",
|
||||
Players = 12345,
|
||||
//ControlAttr = "XXXXXX", // Mututally exclusive with input.Control
|
||||
Buttons = "XXXXXX",
|
||||
Coins = "XXXXXX",
|
||||
Buttons = 12345,
|
||||
Coins = 12345,
|
||||
Control = [control],
|
||||
};
|
||||
|
||||
@@ -594,10 +594,10 @@ namespace SabreTools.Serialization.CrossModel.Test
|
||||
Assert.NotNull(input);
|
||||
Assert.Equal(true, input.Service);
|
||||
Assert.Equal(true, input.Tilt);
|
||||
Assert.Equal("XXXXXX", input.Players);
|
||||
Assert.Equal(12345, input.Players);
|
||||
//Assert.Equal("XXXXXX", input.ControlAttr); // Mututally exclusive with input.Control
|
||||
Assert.Equal("XXXXXX", input.Buttons);
|
||||
Assert.Equal("XXXXXX", input.Coins);
|
||||
Assert.Equal(12345, input.Buttons);
|
||||
Assert.Equal(12345, input.Coins);
|
||||
|
||||
Assert.NotNull(input.Control);
|
||||
var control = Assert.Single(input.Control);
|
||||
|
||||
@@ -168,10 +168,10 @@ namespace SabreTools.Serialization.CrossModel.Test
|
||||
{
|
||||
Service = true,
|
||||
Tilt = true,
|
||||
Players = "XXXXXX",
|
||||
Players = 12345,
|
||||
//ControlAttr = "XXXXXX", // Mututally exclusive with input.Control
|
||||
Buttons = "XXXXXX",
|
||||
Coins = "XXXXXX",
|
||||
Buttons = 12345,
|
||||
Coins = 12345,
|
||||
Control = [control],
|
||||
};
|
||||
|
||||
@@ -594,10 +594,10 @@ namespace SabreTools.Serialization.CrossModel.Test
|
||||
Assert.NotNull(input);
|
||||
Assert.Equal(true, input.Service);
|
||||
Assert.Equal(true, input.Tilt);
|
||||
Assert.Equal("XXXXXX", input.Players);
|
||||
Assert.Equal(12345, input.Players);
|
||||
//Assert.Equal("XXXXXX", input.ControlAttr); // Mututally exclusive with input.Control
|
||||
Assert.Equal("XXXXXX", input.Buttons);
|
||||
Assert.Equal("XXXXXX", input.Coins);
|
||||
Assert.Equal(12345, input.Buttons);
|
||||
Assert.Equal(12345, input.Coins);
|
||||
|
||||
Assert.NotNull(input.Control);
|
||||
var control = Assert.Single(input.Control);
|
||||
|
||||
@@ -229,10 +229,10 @@ namespace SabreTools.Serialization.CrossModel
|
||||
{
|
||||
var input = new Input
|
||||
{
|
||||
Players = item.ReadString(Data.Models.Metadata.Input.PlayersKey),
|
||||
Players = item.Players,
|
||||
Control = item.ReadString(Data.Models.Metadata.Input.ControlKey),
|
||||
Buttons = item.ReadString(Data.Models.Metadata.Input.ButtonsKey),
|
||||
Coins = item.ReadString(Data.Models.Metadata.Input.CoinsKey),
|
||||
Buttons = item.Buttons,
|
||||
Coins = item.Coins,
|
||||
Tilt = item.Tilt,
|
||||
Service = item.Service,
|
||||
};
|
||||
|
||||
@@ -242,10 +242,10 @@ namespace SabreTools.Serialization.CrossModel
|
||||
{
|
||||
var input = new Data.Models.Metadata.Input
|
||||
{
|
||||
[Data.Models.Metadata.Input.PlayersKey] = item.Players,
|
||||
Players = item.Players,
|
||||
[Data.Models.Metadata.Input.ControlKey] = item.Control,
|
||||
[Data.Models.Metadata.Input.ButtonsKey] = item.Buttons,
|
||||
[Data.Models.Metadata.Input.CoinsKey] = item.Coins,
|
||||
Buttons = item.Buttons,
|
||||
Coins = item.Coins,
|
||||
Tilt = item.Tilt,
|
||||
Service = item.Service,
|
||||
};
|
||||
|
||||
@@ -498,9 +498,9 @@ namespace SabreTools.Serialization.CrossModel
|
||||
{
|
||||
Service = item.Service,
|
||||
Tilt = item.Tilt,
|
||||
Players = item.ReadString(Data.Models.Metadata.Input.PlayersKey),
|
||||
Buttons = item.ReadString(Data.Models.Metadata.Input.ButtonsKey),
|
||||
Coins = item.ReadString(Data.Models.Metadata.Input.CoinsKey),
|
||||
Players = item.Players,
|
||||
Buttons = item.Buttons,
|
||||
Coins = item.Coins,
|
||||
};
|
||||
|
||||
var controlAttr = item.ReadString(Data.Models.Metadata.Input.ControlKey);
|
||||
|
||||
@@ -536,10 +536,10 @@ namespace SabreTools.Serialization.CrossModel
|
||||
{
|
||||
Service = item.Service,
|
||||
Tilt = item.Tilt,
|
||||
[Data.Models.Metadata.Input.PlayersKey] = item.Players,
|
||||
Players = item.Players,
|
||||
[Data.Models.Metadata.Input.ControlKey] = item.ControlAttr,
|
||||
[Data.Models.Metadata.Input.ButtonsKey] = item.Buttons,
|
||||
[Data.Models.Metadata.Input.CoinsKey] = item.Coins,
|
||||
Buttons = item.Buttons,
|
||||
Coins = item.Coins,
|
||||
};
|
||||
|
||||
if (item.Control is not null && item.Control.Length > 0)
|
||||
|
||||
@@ -297,10 +297,10 @@ namespace SabreTools.Serialization.Readers.Test
|
||||
|
||||
var input = new Data.Models.ClrMamePro.Input
|
||||
{
|
||||
Players = "XXXXXX",
|
||||
Players = 12345,
|
||||
Control = "XXXXXX",
|
||||
Buttons = "XXXXXX",
|
||||
Coins = "XXXXXX",
|
||||
Buttons = 12345,
|
||||
Coins = 12345,
|
||||
Tilt = true,
|
||||
Service = true,
|
||||
};
|
||||
@@ -592,10 +592,10 @@ namespace SabreTools.Serialization.Readers.Test
|
||||
private static void Validate(Data.Models.ClrMamePro.Input? input)
|
||||
{
|
||||
Assert.NotNull(input);
|
||||
Assert.Equal("XXXXXX", input.Players);
|
||||
Assert.Equal(12345, input.Players);
|
||||
Assert.Equal("XXXXXX", input.Control);
|
||||
Assert.Equal("XXXXXX", input.Buttons);
|
||||
Assert.Equal("XXXXXX", input.Coins);
|
||||
Assert.Equal(12345, input.Buttons);
|
||||
Assert.Equal(12345, input.Coins);
|
||||
Assert.Equal(true, input.Tilt);
|
||||
Assert.Equal(true, input.Service);
|
||||
}
|
||||
|
||||
@@ -239,10 +239,10 @@ namespace SabreTools.Serialization.Readers.Test
|
||||
{
|
||||
Service = true,
|
||||
Tilt = true,
|
||||
Players = "XXXXXX",
|
||||
Players = 12345,
|
||||
ControlAttr = "XXXXXX",
|
||||
Buttons = "XXXXXX",
|
||||
Coins = "XXXXXX",
|
||||
Buttons = 12345,
|
||||
Coins = 12345,
|
||||
Control = [control],
|
||||
};
|
||||
|
||||
@@ -667,10 +667,10 @@ namespace SabreTools.Serialization.Readers.Test
|
||||
Assert.NotNull(input);
|
||||
Assert.Equal(true, input.Service);
|
||||
Assert.Equal(true, input.Tilt);
|
||||
Assert.Equal("XXXXXX", input.Players);
|
||||
Assert.Equal(12345, input.Players);
|
||||
Assert.Equal("XXXXXX", input.ControlAttr); // Mututally exclusive with input.Control
|
||||
Assert.Equal("XXXXXX", input.Buttons);
|
||||
Assert.Equal("XXXXXX", input.Coins);
|
||||
Assert.Equal(12345, input.Buttons);
|
||||
Assert.Equal(12345, input.Coins);
|
||||
|
||||
Assert.NotNull(input.Control);
|
||||
var control = Assert.Single(input.Control);
|
||||
|
||||
@@ -235,10 +235,10 @@ namespace SabreTools.Serialization.Readers.Test
|
||||
{
|
||||
Service = true,
|
||||
Tilt = true,
|
||||
Players = "XXXXXX",
|
||||
Players = 12345,
|
||||
//ControlAttr = "XXXXXX", // Mututally exclusive with input.Control
|
||||
Buttons = "XXXXXX",
|
||||
Coins = "XXXXXX",
|
||||
Buttons = 12345,
|
||||
Coins = 12345,
|
||||
Control = [control],
|
||||
};
|
||||
|
||||
@@ -661,10 +661,10 @@ namespace SabreTools.Serialization.Readers.Test
|
||||
Assert.NotNull(input);
|
||||
Assert.Equal(true, input.Service);
|
||||
Assert.Equal(true, input.Tilt);
|
||||
Assert.Equal("XXXXXX", input.Players);
|
||||
Assert.Equal(12345, input.Players);
|
||||
//Assert.Equal("XXXXXX", input.ControlAttr); // Mututally exclusive with input.Control
|
||||
Assert.Equal("XXXXXX", input.Buttons);
|
||||
Assert.Equal("XXXXXX", input.Coins);
|
||||
Assert.Equal(12345, input.Buttons);
|
||||
Assert.Equal(12345, input.Coins);
|
||||
|
||||
Assert.NotNull(input.Control);
|
||||
var control = Assert.Single(input.Control);
|
||||
|
||||
@@ -235,10 +235,10 @@ namespace SabreTools.Serialization.Readers.Test
|
||||
{
|
||||
Service = true,
|
||||
Tilt = true,
|
||||
Players = "XXXXXX",
|
||||
Players = 12345,
|
||||
//ControlAttr = "XXXXXX", // Mututally exclusive with input.Control
|
||||
Buttons = "XXXXXX",
|
||||
Coins = "XXXXXX",
|
||||
Buttons = 12345,
|
||||
Coins = 12345,
|
||||
Control = [control],
|
||||
};
|
||||
|
||||
@@ -661,10 +661,10 @@ namespace SabreTools.Serialization.Readers.Test
|
||||
Assert.NotNull(input);
|
||||
Assert.Equal(true, input.Service);
|
||||
Assert.Equal(true, input.Tilt);
|
||||
Assert.Equal("XXXXXX", input.Players);
|
||||
Assert.Equal(12345, input.Players);
|
||||
//Assert.Equal("XXXXXX", input.ControlAttr); // Mututally exclusive with input.Control
|
||||
Assert.Equal("XXXXXX", input.Buttons);
|
||||
Assert.Equal("XXXXXX", input.Coins);
|
||||
Assert.Equal(12345, input.Buttons);
|
||||
Assert.Equal(12345, input.Coins);
|
||||
|
||||
Assert.NotNull(input.Control);
|
||||
var control = Assert.Single(input.Control);
|
||||
|
||||
@@ -875,16 +875,16 @@ namespace SabreTools.Serialization.Readers
|
||||
switch (kvp.Key?.ToLowerInvariant())
|
||||
{
|
||||
case "players":
|
||||
input.Players = kvp.Value;
|
||||
input.Players = NumberHelper.ConvertToInt64(kvp.Value);
|
||||
break;
|
||||
case "control":
|
||||
input.Control = kvp.Value;
|
||||
break;
|
||||
case "buttons":
|
||||
input.Buttons = kvp.Value;
|
||||
input.Buttons = NumberHelper.ConvertToInt64(kvp.Value);
|
||||
break;
|
||||
case "coins":
|
||||
input.Coins = kvp.Value;
|
||||
input.Coins = NumberHelper.ConvertToInt64(kvp.Value);
|
||||
break;
|
||||
case "tilt":
|
||||
input.Tilt = kvp.Value.AsYesNo();
|
||||
|
||||
@@ -923,10 +923,10 @@ namespace SabreTools.Serialization.Readers
|
||||
|
||||
obj.Service = reader.GetAttribute("service").AsYesNo();
|
||||
obj.Tilt = reader.GetAttribute("tilt").AsYesNo();
|
||||
obj.Players = reader.GetAttribute("players");
|
||||
obj.Players = NumberHelper.ConvertToInt64(reader.GetAttribute("players"));
|
||||
obj.ControlAttr = reader.GetAttribute("control");
|
||||
obj.Buttons = reader.GetAttribute("buttons");
|
||||
obj.Coins = reader.GetAttribute("coins");
|
||||
obj.Buttons = NumberHelper.ConvertToInt64(reader.GetAttribute("buttons"));
|
||||
obj.Coins = NumberHelper.ConvertToInt64(reader.GetAttribute("coins"));
|
||||
|
||||
List<Control> controls = [];
|
||||
|
||||
|
||||
@@ -921,10 +921,10 @@ namespace SabreTools.Serialization.Readers
|
||||
|
||||
obj.Service = reader.GetAttribute("service").AsYesNo();
|
||||
obj.Tilt = reader.GetAttribute("tilt").AsYesNo();
|
||||
obj.Players = reader.GetAttribute("players");
|
||||
obj.Players = NumberHelper.ConvertToInt64(reader.GetAttribute("players"));
|
||||
obj.ControlAttr = reader.GetAttribute("control");
|
||||
obj.Buttons = reader.GetAttribute("buttons");
|
||||
obj.Coins = reader.GetAttribute("coins");
|
||||
obj.Buttons = NumberHelper.ConvertToInt64(reader.GetAttribute("buttons"));
|
||||
obj.Coins = NumberHelper.ConvertToInt64(reader.GetAttribute("coins"));
|
||||
|
||||
List<Control> controls = [];
|
||||
|
||||
|
||||
@@ -921,10 +921,10 @@ namespace SabreTools.Serialization.Readers
|
||||
|
||||
obj.Service = reader.GetAttribute("service").AsYesNo();
|
||||
obj.Tilt = reader.GetAttribute("tilt").AsYesNo();
|
||||
obj.Players = reader.GetAttribute("players");
|
||||
obj.Players = NumberHelper.ConvertToInt64(reader.GetAttribute("players"));
|
||||
obj.ControlAttr = reader.GetAttribute("control");
|
||||
obj.Buttons = reader.GetAttribute("buttons");
|
||||
obj.Coins = reader.GetAttribute("coins");
|
||||
obj.Buttons = NumberHelper.ConvertToInt64(reader.GetAttribute("buttons"));
|
||||
obj.Coins = NumberHelper.ConvertToInt64(reader.GetAttribute("coins"));
|
||||
|
||||
List<Control> controls = [];
|
||||
|
||||
|
||||
@@ -451,10 +451,10 @@ namespace SabreTools.Serialization.Writers
|
||||
return;
|
||||
|
||||
writer.WriteStartElement("input");
|
||||
writer.WriteRequiredAttributeString("players", input.Players, throwOnError: true);
|
||||
writer.WriteRequiredAttributeString("players", input.Players?.ToString(), throwOnError: true);
|
||||
writer.WriteOptionalAttributeString("control", input.Control);
|
||||
writer.WriteRequiredAttributeString("buttons", input.Buttons, throwOnError: true);
|
||||
writer.WriteOptionalAttributeString("coins", input.Coins);
|
||||
writer.WriteRequiredAttributeString("buttons", input.Buttons?.ToString(), throwOnError: true);
|
||||
writer.WriteOptionalAttributeString("coins", input.Coins?.ToString());
|
||||
writer.WriteOptionalAttributeString("tilt", input.Tilt.FromYesNo());
|
||||
writer.WriteOptionalAttributeString("service", input.Service.FromYesNo());
|
||||
writer.WriteEndElement(); // input
|
||||
|
||||
@@ -649,10 +649,10 @@ namespace SabreTools.Serialization.Writers
|
||||
|
||||
writer.WriteOptionalAttributeString("service", obj.Service.FromYesNo());
|
||||
writer.WriteOptionalAttributeString("tilt", obj.Tilt.FromYesNo());
|
||||
writer.WriteRequiredAttributeString("players", obj.Players);
|
||||
writer.WriteRequiredAttributeString("players", obj.Players?.ToString());
|
||||
writer.WriteOptionalAttributeString("control", obj.ControlAttr);
|
||||
writer.WriteOptionalAttributeString("buttons", obj.Buttons);
|
||||
writer.WriteOptionalAttributeString("coins", obj.Coins);
|
||||
writer.WriteOptionalAttributeString("buttons", obj.Buttons?.ToString());
|
||||
writer.WriteOptionalAttributeString("coins", obj.Coins?.ToString());
|
||||
|
||||
if (obj.Control is not null && obj.Control.Length > 0)
|
||||
{
|
||||
|
||||
@@ -647,10 +647,10 @@ namespace SabreTools.Serialization.Writers
|
||||
|
||||
writer.WriteOptionalAttributeString("service", obj.Service.FromYesNo());
|
||||
writer.WriteOptionalAttributeString("tilt", obj.Tilt.FromYesNo());
|
||||
writer.WriteRequiredAttributeString("players", obj.Players);
|
||||
writer.WriteRequiredAttributeString("players", obj.Players?.ToString());
|
||||
writer.WriteOptionalAttributeString("control", obj.ControlAttr);
|
||||
writer.WriteOptionalAttributeString("buttons", obj.Buttons);
|
||||
writer.WriteOptionalAttributeString("coins", obj.Coins);
|
||||
writer.WriteOptionalAttributeString("buttons", obj.Buttons?.ToString());
|
||||
writer.WriteOptionalAttributeString("coins", obj.Coins?.ToString());
|
||||
|
||||
if (obj.Control is not null && obj.Control.Length > 0)
|
||||
{
|
||||
|
||||
@@ -647,10 +647,10 @@ namespace SabreTools.Serialization.Writers
|
||||
|
||||
writer.WriteOptionalAttributeString("service", obj.Service.FromYesNo());
|
||||
writer.WriteOptionalAttributeString("tilt", obj.Tilt.FromYesNo());
|
||||
writer.WriteRequiredAttributeString("players", obj.Players);
|
||||
writer.WriteRequiredAttributeString("players", obj.Players?.ToString());
|
||||
writer.WriteOptionalAttributeString("control", obj.ControlAttr);
|
||||
writer.WriteOptionalAttributeString("buttons", obj.Buttons);
|
||||
writer.WriteOptionalAttributeString("coins", obj.Coins);
|
||||
writer.WriteOptionalAttributeString("buttons", obj.Buttons?.ToString());
|
||||
writer.WriteOptionalAttributeString("coins", obj.Coins?.ToString());
|
||||
|
||||
if (obj.Control is not null && obj.Control.Length > 0)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user