ModernUO/Projects/UOContent/Items/Addons
Kamron Batman 360143478a
feat: Adds tidy option for serialization. Codegens ballotbox. Fixes pooled timer leaking (#681)
* Fixes pooled timer leaking
* Fixes `[dumptimers` command so it outputs properly, adds spacing, and stacktraces
* Adds `[Tidy]` for serializing Lists. This will remove deleted entities during world save before serializing the list.
* Adds helpers for managing Lists/Sets/Dictionaries


### New API

```cs
// Creates the list if it is null, then adds
Utility.Add(ref list, value);
Utility.Add(ref set, value);
Utility.Add(ref dict, key, value);

// Nulls the variable if the count is zero
Utility.Remove(ref list, value);
Utility.Remove(ref set, value);
Utility.Remove(ref dict, key);

// Marks entity as dirty in addition to doing the action
entity.Add(list, value);
// Marks entity as dirty, and will create list if it doesn't exist
entity.Add(ref list, value);

// Marks entity as dirty in addition to doing the action
entity.Remove(list, value);
// Marks entity as dirty, and will null the list count is zero
entity.Remove(ref list, value);
```


### Updates to [dumptimers
<img width="825" alt="Screen Shot 2021-08-14 at 2 55 10 AM" src="https://user-images.githubusercontent.com/3953314/129442449-ccf7fe14-29d6-4f3f-9366-c8eb7b9828a7.png">
2021-08-14 03:02:53 -07:00
..
AbbatoirAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
AddonComponent.cs fix(core): Fixes several serialization issues (#355) 2020-12-23 07:11:41 -08:00
AddonContainerComponent.cs fix(core): Fixes several serialization issues (#355) 2020-12-23 07:11:41 -08:00
AlchemistTableEastAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
AlchemistTableSouthAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
AnvilEastAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
AnvilSouthAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
ArcaneBookshelfEastAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
ArcaneBookshelfSouthAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
ArcaneCircleAddon.cs Fixes brace style (#248) 2020-09-13 21:49:46 -07:00
ArcanistStatueEastAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
ArcanistStatueSouthAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
ArcheryButteAddon.cs fix(core): Caches DateTime.NowUtc (#548) 2021-03-13 01:32:04 -08:00
BallotBox.cs feat: Adds tidy option for serialization. Codegens ballotbox. Fixes pooled timer leaking (#681) 2021-08-14 03:02:53 -07:00
BaseAddon.cs feat: Adds tidy option for serialization. Codegens ballotbox. Fixes pooled timer leaking (#681) 2021-08-14 03:02:53 -07:00
BaseAddonContainer.cs cleanup: Fixes bugs and cleans up code (#660) 2021-07-19 20:49:59 -07:00
BaseAddonContainerDeed.cs Removes literal variables (#257) 2020-09-18 18:41:26 -07:00
BaseAddonDeed.cs Removes literal variables (#257) 2020-09-18 18:41:26 -07:00
BearRugs.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
BloodPentagram.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
DartBoard.cs Removes literal variables (#257) 2020-09-18 18:41:26 -07:00
ElvenBedEastAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
ElvenBedSouthAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
ElvenDresserEastAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
ElvenDresserSouthAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
ElvenForgeAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
ElvenLoveseatEastAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
ElvenLoveseatSouthAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
ElvenSpinningwheelEastAddon.cs fix(core): Adds Hashed & Hierarchical Timer Wheel (#655) 2021-07-11 22:42:06 -07:00
ElvenSpinningwheelSouthAddon.cs fix(core): Adds Hashed & Hierarchical Timer Wheel (#655) 2021-07-11 22:42:06 -07:00
ElvenStoveEastAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
ElvenStoveSouthAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
ElvenWashbasinEastAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
ElvenWashbasinSouthAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
FancyElvenTableEastAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
FancyElvenTableSouthAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
FireColumnAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
FlourMillEastAddon.cs feat(timers): Adds timer pooling, fixes timer related bugs, and changes timer api (#667) 2021-08-07 14:33:35 -07:00
FlourMillSouthAddon.cs feat(timers): Adds timer pooling, fixes timer related bugs, and changes timer api (#667) 2021-08-07 14:33:35 -07:00
FlowerTapestries.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
GiantWebs.cs Fixes brace style (#248) 2020-09-13 21:49:46 -07:00
GozaMats.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
GrayBrickFireplaceEastAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
GrayBrickFireplaceSouthAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
JackOLantern.cs feat(timers): Adds timer pooling, fixes timer related bugs, and changes timer api (#667) 2021-08-07 14:33:35 -07:00
LargeBedEastAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
LargeBedSouthAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
LargeForgeEastAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
LargeForgeSouthAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
LargeStoneTableEastAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
LargeStoneTableSouthAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
LoomEastAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
LoomSouthAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
MediumStoneTableEastAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
MediumStoneTableSouthAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
OrnateElvenTableEastAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
OrnateElvenTableSouthAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
ParrotPerchAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
PentagramAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
PickpocketDips.cs fix(core): Adds Hashed & Hierarchical Timer Wheel (#655) 2021-07-11 22:42:06 -07:00
PyramidAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
RejuvinationAnkhs.cs feat(timers): Adds timer pooling, fixes timer related bugs, and changes timer api (#667) 2021-08-07 14:33:35 -07:00
SandstoneFireplaceEastAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
SandstoneFireplaceSouthAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
SandstoneFountainAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
SerpentPillarAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
ShrineOfWisdomAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
SHTeleporter.cs cleanup: Fixes bugs and cleans up code (#660) 2021-07-19 20:49:59 -07:00
SkullPileAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
SmallBedEastAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
SmallBedSouthAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
SmallForgeAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
SolenAntHole.cs fix(core): Fixes several serialization issues (#355) 2020-12-23 07:11:41 -08:00
SpinningwheelEastAddon.cs fix(core): Adds Hashed & Hierarchical Timer Wheel (#655) 2021-07-11 22:42:06 -07:00
SpinningwheelSouthAddon.cs fix(core): Adds Hashed & Hierarchical Timer Wheel (#655) 2021-07-11 22:42:06 -07:00
SquirrelStatueEastAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
SquirrelStatueSouthAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
StoneFireplaceEastAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
StoneFireplaceSouthAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
StoneFountainAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
StoneOvenEastAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
StoneOvenSouthAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
StretchedHides.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
TallElvenBedEastAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
TallElvenBedSouthAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
Telescope.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
TrainingDummies.cs fix(core): Adds Hashed & Hierarchical Timer Wheel (#655) 2021-07-11 22:42:06 -07:00
WarriorStatueEastAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
WarriorStatueSouthAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
WaterTroughEastAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
WaterTroughSouthAddon.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
WaterVat.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00