ModernUO/Projects/UOContent/Items/Addons
Kamron Batman b7882df136
fix: Fixes serialization and dirty tracking conveniences (#1627)
### Summary
- Fixes issues with non-_ISerializable_ objects having bad serialization (Skill/Stat. Mods)
- Fixes issues with MarkDirty and namespaces: https://github.com/modernuo/SerializationGenerator/issues/29
- Fixes missing dirty tracking for some data structures.
- Fixes cascading MarkDirty for non-serializable types that have owners that are also non-serializable types.

### New Codegenned API
When a data structure (Array, List, Dictionary, HashSet, etc) is source generated for serialization, new methods are added which will handle dirty tracking. Use these instead of the built in methods for that data structure.

_All Data Structures_
```cs
public void Clear<PropertyName>();
```

_Lists and Sets_
```cs
public void AddTo<PropertyName>(V value);
public void RemoveFrom<PropertyName>(V value);
```

_Lists_
```cs
public void InsertInto<PropertyName>(int index, V value);
public void RemoveFrom<PropertyName>At(int index);
```

_Dictionaries_
```cs
public void AddTo<PropertyName>(T key, V value);
public void RemoveFrom<PropertyName>(T key);
public void ReplaceIn<PropertyName>(T key, V value);
```

Over time, they will be cleaned up and more variants added such as `bool RemoveFrom<PropertyName>(T key, out V value)`
2023-12-03 15:55:31 -08:00
..
AbbatoirAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
AddonComponent.cs feat: Adds SerializedCommandProperty (#1249) 2022-11-14 18:24:33 -08:00
AddonContainerComponent.cs feat: Adds SerializedCommandProperty (#1249) 2022-11-14 18:24:33 -08:00
AlchemistTableEastAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
AlchemistTableSouthAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
AnvilEastAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
AnvilSouthAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
ArcaneBookshelfEastAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
ArcaneBookshelfSouthAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
ArcaneCircleAddon.cs fix: Fixes addons that do not give deeds (#1224) 2022-11-02 19:26:51 -07:00
ArcanistStatueEastAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
ArcanistStatueSouthAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
ArcheryButteAddon.cs fix: Fixes crafter deserialize, cleans up bandages, and codegens misc items (#1350) 2023-02-25 00:54:12 -08:00
BallotBox.cs fix: Fixes serialization and dirty tracking conveniences (#1627) 2023-12-03 15:55:31 -08:00
BaseAddon.cs fix: Fixes serialization and dirty tracking conveniences (#1627) 2023-12-03 15:55:31 -08:00
BaseAddonContainer.cs fix: Fixes serialization and dirty tracking conveniences (#1627) 2023-12-03 15:55:31 -08:00
BaseAddonContainerDeed.cs fix: Optimizes OPL using string interpolation (#1041) 2022-06-02 10:09:53 -07:00
BaseAddonDeed.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
BearRugs.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
BloodPentagram.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
DartBoard.cs fix: Fixes crafter deserialize, cleans up bandages, and codegens misc items (#1350) 2023-02-25 00:54:12 -08:00
ElvenBedEastAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
ElvenBedSouthAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
ElvenDresserEastAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
ElvenDresserSouthAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
ElvenForgeAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
ElvenLoveseatEastAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
ElvenLoveseatSouthAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
ElvenSpinningWheelEastAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
ElvenSpinningwheelSouthAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
ElvenStoveEastAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
ElvenStoveSouthAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
ElvenWashbasinEastAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
ElvenWashbasinSouthAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
FancyElvenTableEastAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
FancyElvenTableSouthAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
FireColumnAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
FlourMillEastAddon.cs fix: Fixes crafter deserialize, cleans up bandages, and codegens misc items (#1350) 2023-02-25 00:54:12 -08:00
FlourMillSouthAddon.cs fix: Fixes crafter deserialize, cleans up bandages, and codegens misc items (#1350) 2023-02-25 00:54:12 -08:00
FlowerTapestries.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
GiantWebs.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
GozaMats.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
GrayBrickFireplaceEastAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
GrayBrickFireplaceSouthAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
JackOLantern.cs fix: Fixes addons that do not give deeds (#1224) 2022-11-02 19:26:51 -07:00
LargeBedEastAddon.cs fix: Codegens construction items (#1520) 2023-09-29 23:28:51 -07:00
LargeBedSouthAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
LargeForgeEastAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
LargeForgeSouthAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
LargeStoneTableEastAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
LargeStoneTableSouthAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
LoomEastAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
LoomSouthAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
MediumStoneTableEastAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
MediumStoneTableSouthAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
OrnateElvenChestEastAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
OrnateElvenChestSouthAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
OrnateElvenTableEastAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
OrnateElvenTableSouthAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
ParrotPerchAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
PentagramAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
PickpocketDips.cs feat: Adds SerializedCommandProperty (#1249) 2022-11-14 18:24:33 -08:00
PyramidAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
RejuvinationAnkhs.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
SandstoneFireplaceEastAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
SandstoneFireplaceSouthAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
SandstoneFountainAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
SerpentPillarAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
ShrineOfWisdomAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
SHTeleporter.cs fix: Fixes map iterators for Items (#1564) 2023-10-26 17:49:15 -07:00
SkullPileAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
SmallBedEastAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
SmallBedSouthAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
SmallForgeAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
SolenAntHole.cs fix: Fixes serialization and dirty tracking conveniences (#1627) 2023-12-03 15:55:31 -08:00
SpinningwheelEastAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
SpinningwheelSouthAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
SquirrelStatueEastAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
SquirrelStatueSouthAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
StoneFireplaceEastAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
StoneFireplaceSouthAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
StoneFountainAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
StoneOvenEastAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
StoneOvenSouthAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
StretchedHides.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
TallElvenBedEastAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
TallElvenBedSouthAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
Telescope.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
TrainingDummies.cs feat: Adds SerializedCommandProperty (#1249) 2022-11-14 18:24:33 -08:00
WarriorStatueEastAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
WarriorStatueSouthAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
WaterTroughEastAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
WaterTroughSouthAddon.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00
WaterVat.cs fix: Updates serialization to use v2.0 (#998) 2022-04-17 08:02:15 -07:00