You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
/// Creates a default [`RequestProcessingPipelineRun`] for the plugi
314
-
pubfnnew() -> Self{
315
-
Self(Default::default(),false)
316
-
}
317
-
318
-
/// Returns true if a processing pipeline run was requested, and sets the flag to false again.
319
-
pubfnget_and_unset(&mutself) -> bool{
320
-
let requested = self.1;
321
-
self.1 = false;
322
-
requested
323
-
}
324
-
325
-
/// requests a run this frame
326
-
pubfnrequest_run(&mutself){
327
-
self.1 = true;
328
-
}
329
-
}
330
-
331
-
impl<P>DefaultforRequestProcessingPipelineRun<P>{
332
-
fndefault() -> Self{
333
-
Self::new()
334
-
}
335
-
}
336
-
337
-
/// A system which runs [`RunProcessingPipelineOnce`] command for the plugin only if [`RequestProcessingPipelineRun`] resource had [`RequestProcessingPipelineRun::request_run`] called on it,
338
-
/// and or if there are active machines
318
+
/// A system which runs [`RunProcessingPipelineOnce`] command for the plugin only if there are active machines
Processing script atachments and detachments is all done by the script pipeline.
4
+
5
+
In versions prior to `16.0` the pipeline was represented by load unload commands, which atomically processed scripts. Since then the pipeline has been maassively overhauled to allow:
6
+
- Customizing callbacks during the process
7
+
- Budgeting frame time for the pipeline
8
+
- Allowing async steps in the process
9
+
10
+
The new pipeline works like this:
11
+
- A set of systems in `PostUpdate` "filter" incoming `ScriptAttachedEvent` and `ScriptDetachedEvent`'s as well as `ScriptAssetModifiedEvent`'s (some generated from asset events, others from component hooks). The filtered events are wrapped in `ForPlugin<P>(inner)` events based on the language of the underlying event's.
0 commit comments