Prefab patching - #52
Conversation
cheese3660
left a comment
There was a problem hiding this comment.
I'm noticing a lot of missing documentation and stuff that is a bit unwieldly in general - plus I flagged some duplicate logic
I will likely go over all this in more depth again but this is the surface level stuff I've found
There was a problem hiding this comment.
Hmmm - we now have 2 different things that hold the Needs/Conflicts/Etc.. set and we are duplicating the logic here for some reason, I think that it should be deduplicated or extracted to a common interface
There was a problem hiding this comment.
Alright - this is a really large model and would benefit with describing how it works and documentation comments on the methods and fields and what not
There was a problem hiding this comment.
Same as before - I think it needs more documentation, only class level documentation is not our style, I'd prefer for the entirety of this prefab patching surface to fit our documentation requirements, if not such that I can more easily understand the model
There was a problem hiding this comment.
Same documentation concerns as previously mentioned
| } while (changed); | ||
| } | ||
|
|
||
| private static List<PrefabPatchManifest> Order( |
There was a problem hiding this comment.
A lot of the dependency ordering here should be extracted out, I don't particularly like reading a triple nested for loop
There was a problem hiding this comment.
Repeating doc comments concerns again here
| reject | ||
| ); | ||
|
|
||
| public static void DiscoverAndResolve( |
There was a problem hiding this comment.
This method seems to be getting a bit unwieldly
| return _locator; | ||
| } | ||
|
|
||
| internal static bool TryProvide( |
There was a problem hiding this comment.
I think we don't need this here - nobody will read the documentation here
This needs to go on the modding docs page - and be elaborated upon more like how the other patch manager docs are
There was a problem hiding this comment.
Again - why split the docs here?
Adds support for declarative prefab patching, enabling mods to modify addressable prefabs using visual authoring, C#, and Lua. It adds new authoring APIs, integrates prefab patch plan resolution into the loading flow, and improves runtime diagnostics and cache handling. The documentation is expanded with a new guide on prefab patching.