Package org.boxutil.base.api
Interface ControlDataAPI
- All Known Implementing Classes:
org.boxutil.base.BaseControlData,SimpleParticleControlData
public interface ControlDataAPI
Always available, even if
BoxConfigs.isShaderEnable() at false.-
Method Summary
Modifier and TypeMethodDescriptiondefault voidcontrolAdvance(RenderDataAPI renderEntity, float amount) Running on another thread.default voidcontrolAfterRenderingAdvance(RenderDataAPI renderEntity, float lastFrameAmount) Executes after the rendering call andcontrolCanRenderNow(RenderDataAPI), and before the logical advance of this frame.default booleancontrolAlphaBasedTimer(RenderDataAPI renderEntity) AffectsBaseRenderData.getGlobalTimerAlpha().default voidcontrolBeforeRenderingAdvance(RenderDataAPI renderEntity, float lastFrameAmount) Executes before the rendering call andcontrolCanRenderNow(RenderDataAPI), and before the logical advance of this frame.default booleancontrolCanRenderNow(RenderDataAPI renderEntity) Check it in each rendering frame.default voidcontrolInit(RenderDataAPI renderEntity) Run once as long as linked to a render entity.default booleancontrolIsDone(RenderDataAPI renderEntity) Force remove entity if true.default booleancontrolIsOnceRender(RenderDataAPI renderEntity) Force remove entity after init and render one frame.default voidcontrolRemove(RenderDataAPI renderEntity) Run once when callRenderDataAPI.delete().default booleancontrolRemoveBasedTimer(RenderDataAPI renderEntity) Will callcontrolRemove(RenderDataAPI)when timer of entity is out.default booleancontrolRunWhilePaused(RenderDataAPI renderEntity) AffectscontrolAdvance(RenderDataAPI, float)and compute instance data.
-
Method Details
-
controlInit
Run once as long as linked to a render entity. -
controlBeforeRenderingAdvance
default void controlBeforeRenderingAdvance(@NotNull RenderDataAPI renderEntity, float lastFrameAmount) Executes before the rendering call andcontrolCanRenderNow(RenderDataAPI), and before the logical advance of this frame.Should not be call instance data refresh or change them on gpu here.
-
controlAfterRenderingAdvance
default void controlAfterRenderingAdvance(@NotNull RenderDataAPI renderEntity, float lastFrameAmount) Executes after the rendering call andcontrolCanRenderNow(RenderDataAPI), and before the logical advance of this frame.Should not be call instance data refresh or change them on gpu here.
-
controlAdvance
Running on another thread.Executes in the logical advance.
Invalid when
controlIsOnceRender(RenderDataAPI)is ture. -
controlRemove
Run once when callRenderDataAPI.delete().Invalid when
controlIsOnceRender(RenderDataAPI)is ture. -
controlAlphaBasedTimer
AffectsBaseRenderData.getGlobalTimerAlpha(). -
controlRemoveBasedTimer
Will callcontrolRemove(RenderDataAPI)when timer of entity is out. -
controlCanRenderNow
Check it in each rendering frame. -
controlRunWhilePaused
AffectscontrolAdvance(RenderDataAPI, float)and compute instance data. -
controlIsDone
Force remove entity if true. -
controlIsOnceRender
Force remove entity after init and render one frame.
-