Class RenderComponent

java.lang.Object
com.deco2800.game.components.Component
com.deco2800.game.rendering.RenderComponent
All Implemented Interfaces:
Disposable, Renderable, java.lang.Comparable<Renderable>
Direct Known Subclasses:
AnimationRenderComponent, BackgroundRenderComponent, ParticleRenderComponent, TerrainComponent, TextureRenderComponent, UIComponent

public abstract class RenderComponent
extends Component
implements Renderable, Disposable
A generic component for rendering an entity. Registers itself with the render service in order to be rendered each frame. Child classes can implement different kinds of rendering behaviour.
  • Constructor Details

  • Method Details

    • create

      public void create()
      Description copied from class: Component
      Called when the entity is created and registered. Initial logic such as calls to GetComponent should be made here, not in the constructor which is called before an entity is finished.
      Overrides:
      create in class Component
    • dispose

      public void dispose()
      Description copied from class: Component
      Called when the component is disposed. Dispose of any internal resources here.
      Specified by:
      dispose in interface Disposable
      Overrides:
      dispose in class Component
    • render

      public void render​(SpriteBatch batch)
      Description copied from interface: Renderable
      Render the renderable. Should be called only by the renderer, not manually.
      Specified by:
      render in interface Renderable
      Parameters:
      batch - Batch to render to.
    • compareTo

      public int compareTo​(Renderable o)
      Specified by:
      compareTo in interface java.lang.Comparable<Renderable>
    • getLayer

      public int getLayer()
      Description copied from interface: Renderable
      Layer to be rendered in. Higher layers will be rendered on top of lower layers.
      Specified by:
      getLayer in interface Renderable
      Returns:
      layer
    • getZIndex

      public float getZIndex()
      Set the zIndex of the entity according to the y coordinate of the entity and the original zIndex. If zIndex is not set originally, then The smaller the Y value, the higher the Z index, so that closer entities are drawn in front. If zIndex has been set, zIndex will not change.
      Specified by:
      getZIndex in interface Renderable
      Returns:
      The drawing priority of the current entity
    • draw

      protected abstract void draw​(SpriteBatch batch)
      Draw the renderable. Should be called only by the renderer, not manually.
      Parameters:
      batch - Batch to render to.