Interface ControlDataAPI

All Known Implementing Classes:
org.boxutil.base.BaseControlData, SimpleParticleControlData

public interface ControlDataAPI
Always available, even if BoxConfigs.isShaderEnable() at false.
See Also:
  • Method Details

    • controlInit

      default void controlInit(@NotNull RenderDataAPI renderEntity)
      Run once as long as linked to a render entity.
    • controlBeforeRenderingAdvance

      default void controlBeforeRenderingAdvance(@NotNull RenderDataAPI renderEntity, float lastFrameAmount)
      Executes before the rendering call and controlCanRenderNow(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 and controlCanRenderNow(RenderDataAPI), and before the logical advance of this frame.

      Should not be call instance data refresh or change them on gpu here.

    • controlAdvance

      default void controlAdvance(@NotNull RenderDataAPI renderEntity, float amount)
      Running on another thread.

      Executes in the logical advance.

      Invalid when controlIsOnceRender(RenderDataAPI) is ture.

    • controlRemove

      default void controlRemove(@NotNull RenderDataAPI renderEntity)
      Run once when call RenderDataAPI.delete().

      Invalid when controlIsOnceRender(RenderDataAPI) is ture.

    • controlAlphaBasedTimer

      default boolean controlAlphaBasedTimer(@NotNull RenderDataAPI renderEntity)
    • controlRemoveBasedTimer

      default boolean controlRemoveBasedTimer(@NotNull RenderDataAPI renderEntity)
      Will call controlRemove(RenderDataAPI) when timer of entity is out.
    • controlCanRenderNow

      default boolean controlCanRenderNow(@NotNull RenderDataAPI renderEntity)
      Check it in each rendering frame.
    • controlRunWhilePaused

      default boolean controlRunWhilePaused(@NotNull RenderDataAPI renderEntity)
      Affects controlAdvance(RenderDataAPI, float) and compute instance data.
    • controlIsDone

      default boolean controlIsDone(@NotNull RenderDataAPI renderEntity)
      Force remove entity if true.
    • controlIsOnceRender

      default boolean controlIsOnceRender(@NotNull RenderDataAPI renderEntity)
      Force remove entity after init and render one frame.