Share AssetSources between the AssetServer, the asset processor, and the asset processor's internal asset server.
#21763
+239
−94
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Objective
AssetSourceswill be reflected in all the uses.Solution
watch_for_changesis false. If we don't do this, sharing the sources between the asset server and the processor-internal asset server will result in two tasks consuming asset events, so the regular asset server will miss asset events.One thing I'm starting in this PR is making things more private. For example, it's not clear why
ProcessorGatedReaderwaspub. I've also madeAssetSources::gate_on_processorno longerpub. This does mean that users can no longer initialize their ownAssetServerproperly (e.g., gated on the processor), but I don't think we should really support this - our focus should be on theAssetServerinitialized byAssetPlugin, not hypothetical uses where someone wants to insert their ownAssetServer.Testing