ModernUO/Projects/UOContent/Items/Special
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
..
8th Anniversary Items fix: Codegens promo items (#1355) 2023-02-26 00:48:27 -08:00
11th Year promo fix: Codegens promo items (#1355) 2023-02-26 00:48:27 -08:00
AoS Promotional fix: Codegens promo items (#1355) 2023-02-26 00:48:27 -08:00
Broken Furniture Collection fix: Fixes broken chair (#1356) 2023-02-27 09:01:50 -08:00
Bulk Order Rewards/Blacksmithy fix: Codegens BOD rewards. (#1361) 2023-03-06 19:01:14 -08:00
Community Collection fix: Codegens BOD rewards. (#1361) 2023-03-06 19:01:14 -08:00
Evil Home Decor Collection fix: Codegens evil decor. Fixes trash items (#1362) 2023-03-06 19:28:58 -08:00
Gifts fix: Codegens gifts (#1363) 2023-03-07 21:07:45 -08:00
Heritage Items fix: Fixes scales, heritage items, and codegens holiday items (#1365) 2023-03-07 22:38:35 -08:00
Holiday fix: Fixes scales, heritage items, and codegens holiday items (#1365) 2023-03-07 22:38:35 -08:00
House Raffle fix: Fixes serialization and dirty tracking conveniences (#1627) 2023-12-03 15:55:31 -08:00
ML fix: Codegens mutation core (#1370) 2023-03-11 17:33:31 -08:00
Mutation Core fix: Fixes serialization and dirty tracking conveniences (#1627) 2023-12-03 15:55:31 -08:00
Rares fix: Codegens rares and solen items (#1371) 2023-03-11 19:25:48 -08:00
Solen Items fix: Renames WeightOverloading to StaminaSystem (#1495) 2023-09-06 18:58:45 -07:00
Special Scrolls fix: Fixes special scrolls (#1373) 2023-03-12 13:47:12 -07:00
Valentines/2007 fix: Fixes veteran rewards (#1374) 2023-03-12 17:28:51 -07:00
Veteran Rewards fix: Codegens rest of special items (#1467) 2023-08-23 20:02:46 -07:00
HeritageToken.cs fix: Codegens rest of special items (#1467) 2023-08-23 20:02:46 -07:00
MiniHouses.cs fix: Fixes serialization and dirty tracking conveniences (#1627) 2023-12-03 15:55:31 -08:00
MonsterStatuette.cs fix: Codegens rest of special items (#1467) 2023-08-23 20:02:46 -07:00
RewardCake.cs fix: Codegens rest of special items (#1467) 2023-08-23 20:02:46 -07:00
SoulStone.cs fix: Codegens rest of special items (#1467) 2023-08-23 20:02:46 -07:00