ModernUO/Projects/UOContent/Items/Misc
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
..
Bedlam fix: Codegens misc ML items (#1213) 2022-10-28 20:44:08 -07:00
Blighted Grove fix: Codegens misc ML items (#1213) 2022-10-28 20:44:08 -07:00
Corpses fix: Fixes serialization and dirty tracking conveniences (#1627) 2023-12-03 15:55:31 -08:00
Labyrinth fix: Codegens misc ML items (#1213) 2022-10-28 20:44:08 -07:00
Painted Caves fix: Codegens misc ML items (#1213) 2022-10-28 20:44:08 -07:00
Palace of Paroxysmus fix: Codegens misc ML items (#1213) 2022-10-28 20:44:08 -07:00
Prism of Light fix: Codegens misc ML items (#1213) 2022-10-28 20:44:08 -07:00
The Citadel fix: Codegens misc ML items (#1213) 2022-10-28 20:44:08 -07:00
Twisted Weald fix: Codegens misc ML items (#1213) 2022-10-28 20:44:08 -07:00
Acid.cs fix: Changes Map.Sector.Mobiles to link list & Fixes various related crash bugs (#1553) 2023-10-29 22:42:46 -07:00
ArcaneGem.cs fix: Changes BaseWeapon to source generator and changes crafter to string (#1519) 2023-09-29 22:45:37 -07:00
BankCheck.cs feat: Adds SerializedCommandProperty (#1249) 2022-11-14 18:24:33 -08:00
Beeswax.cs fix: Codegens more misc items (#1214) 2022-10-29 00:43:30 -07:00
Blocker.cs fix: Fix sending blockers to GMs (#1441) 2023-08-05 19:44:47 -07:00
Blood.cs fix: Codegens more misc items (#1214) 2022-10-29 00:43:30 -07:00
Bola.cs fix: Fixes crafter deserialize, cleans up bandages, and codegens misc items (#1350) 2023-02-25 00:54:12 -08:00
BolaBall.cs fix: Codegens more misc items (#1214) 2022-10-29 00:43:30 -07:00
ClockworkAssembly.cs fix: Cleans up ConsumeTotal and ClockworkAssembly (#1517) 2023-09-28 23:01:35 -07:00
CommunicationCrystals.cs fix: Fixes serialization and dirty tracking conveniences (#1627) 2023-12-03 15:55:31 -08:00
DeceitBrazier.cs fix: Fixes crafter deserialize, cleans up bandages, and codegens misc items (#1350) 2023-02-25 00:54:12 -08:00
EffectController.cs fix: Fixes NPE with effect controller (#1406) 2023-05-21 23:29:16 -07:00
EffectItem.cs fix: Codegens more misc items (#1214) 2022-10-29 00:43:30 -07:00
ExecutionersCap.cs fix: Codegens more misc items (#1214) 2022-10-29 00:43:30 -07:00
Firebomb.cs fix: Changes Map.Sector.Mobiles to link list & Fixes various related crash bugs (#1553) 2023-10-29 22:42:46 -07:00
FlippableAddonAttribute.cs fix: Fixes serialization and dirty tracking conveniences (#1627) 2023-12-03 15:55:31 -08:00
FlippableAttribute.cs fix: FlippableAttribute with empty list will crash the client (#1563) 2023-10-23 10:38:47 -07:00
GlassItems.cs fix: Codegens more misc items (#1214) 2022-10-29 00:43:30 -07:00
Gold.cs fix: Codegens more misc items (#1216) 2022-10-29 16:08:23 -07:00
Guillotine.cs fix: Fixes crafter deserialize, cleans up bandages, and codegens misc items (#1350) 2023-02-25 00:54:12 -08:00
HairDye.cs fix: Codegens more misc items (#1216) 2022-10-29 16:08:23 -07:00
HoveringWisp.cs fix: Codegens more misc items (#1216) 2022-10-29 16:08:23 -07:00
IDurability.cs fix: Codegens more misc items (#1216) 2022-10-29 16:08:23 -07:00
InteriorDecorator.cs fix: Refactors getting static tiles to use enumerators (#1611) 2023-11-26 09:39:46 -08:00
Key.cs fix: Updates container searches for non-generic types (#1567) 2023-11-23 09:29:45 -08:00
KeyRing.cs fix: Fixes serialization and dirty tracking conveniences (#1627) 2023-12-03 15:55:31 -08:00
LOSBlocker.cs fix: Fix sending blockers to GMs (#1441) 2023-08-05 19:44:47 -07:00
Moonstone.cs fix: Fixes crafter deserialize, cleans up bandages, and codegens misc items (#1350) 2023-02-25 00:54:12 -08:00
MoonstoneGate.cs fix: Codegens more misc items (#1216) 2022-10-29 16:08:23 -07:00
MorphItem.cs fix: Changes Map.Sector.Mobiles to link list & Fixes various related crash bugs (#1553) 2023-10-29 22:42:46 -07:00
OilCloth.cs fix: Fixes crafter deserialize, cleans up bandages, and codegens misc items (#1350) 2023-02-25 00:54:12 -08:00
OilFlask.cs fix: Fixes map iterators for Items (#1564) 2023-10-26 17:49:15 -07:00
Origami.cs fix: Codegens more misc items (#1216) 2022-10-29 16:08:23 -07:00
PlayerBulletinBoards.cs fix: Fixes serialization and dirty tracking conveniences (#1627) 2023-12-03 15:55:31 -08:00
PlayerVendorDeed.cs fix: Codegens more misc items (#1216) 2022-10-29 16:08:23 -07:00
PowerCrystal.cs fix: Fixes crafter deserialize, cleans up bandages, and codegens misc items (#1350) 2023-02-25 00:54:12 -08:00
PowerGenerator.cs fix: Updates messages with clilocs (#1381) 2023-03-26 00:54:09 -07:00
PromotionalToken.cs fix: Optimizes TextDefinition to eliminate allocations. Removes TextDefinition ctor. (#1221) 2022-10-30 16:53:23 -07:00
PublicMoongate.cs feat: Customize expansion and set maps on first boot (#1425) 2023-07-31 20:46:49 -07:00
Rares.cs fix: Codegens more misc items (#1216) 2022-10-29 16:08:23 -07:00
Scales.cs fix: Finishes code gen for misc items (#1248) 2022-11-13 23:10:13 -08:00
SerpentPillar.cs feat: Adds SerializedCommandProperty (#1249) 2022-11-14 18:24:33 -08:00
SpecialBeardDye.cs fix: Finishes code gen for misc items (#1248) 2022-11-13 23:10:13 -08:00
SpecialHairDye.cs fix: Finishes code gen for misc items (#1248) 2022-11-13 23:10:13 -08:00
Static.cs feat: Adds SerializedCommandProperty (#1249) 2022-11-14 18:24:33 -08:00
SwarmOfFlies.cs fix: Finishes code gen for misc items (#1248) 2022-11-13 23:10:13 -08:00
Teleporter.cs feat: Customize expansion and set maps on first boot (#1425) 2023-07-31 20:46:49 -07:00
TrashBarrel.cs fix: Codegens evil decor. Fixes trash items (#1362) 2023-03-06 19:28:58 -08:00
TrashChest.cs fix: Fixes crafter deserialize, cleans up bandages, and codegens misc items (#1350) 2023-02-25 00:54:12 -08:00
TribalBerry.cs fix: Finishes code gen for misc items (#1248) 2022-11-13 23:10:13 -08:00
TribalPaint.cs fix: Finishes code gen for misc items (#1248) 2022-11-13 23:10:13 -08:00
UnholyBone.cs fix: Finishes code gen for misc items (#1248) 2022-11-13 23:10:13 -08:00
WarningItem.cs fix: Fixes map iterators for Items (#1564) 2023-10-26 17:49:15 -07:00
WayPoint.cs fix: Update LabelTo, SendMessage, etc to Interpolated Strings (#1283) 2022-11-28 19:58:12 -08:00
WindChimes.cs feat: Adds SerializedCommandProperty (#1249) 2022-11-14 18:24:33 -08:00