RobustToolbox
RobustToolbox copied to clipboard
Rework delta-states
This reworks how component delta states work, to try make using them slightly less confusing. Instead of having a both full & partial states implement IComponentDeltaState with a FullState bool to differentiate between them, it now expects two different classes, where only the delta states implement IComponentDeltaState<TFullState>.
Anything that implements IComponentDeltaState is implicitly not a full state.
This PR also makes ComponentState abstract. Components that don't generate any component specific state information now just return null.
Requires space-wizards/space-station-14/pull/28134 to update content delta states