Home Reference Source Test
import Renderable2DGrid from 'seed-engine/src/component/Renderable2DGrid.js'
public class | source

Renderable2DGrid

Extends:

UpdateableComponentRenderableRenderable2DMultitex → Renderable2DGrid

Renderable2DGrid is a renderable component which uses two textures to draw tilemaps using the GPU, and just one renderable. Renderable2DGrid will expect one texture for sprites, and another containing the data for which tile goes where. Additionaly, viewport support is added to make large maps require one time loads into self managed data textures.

Constructor Summary

Public Constructor
public

constructor(mapTilesTextureName: string, gridData: Array, width: number, height: number, tileViewWidth: number, tileViewHeight: number)

Constructor for Renderable2D grid.

Member Summary

Public Members
public
public
public
public
public

Method Summary

Public Methods
public

buildShaderTileData(viewportX1: number, viewportY1: number, viewportWidth: number, viewportHeight: number)

Sets the viewport of the map grid to x1, y1, width, height (in tiles).

public

onEnd()

public

setGridData(data: *, width: *, height: *, tileViewWidth: *, tileViewHeight: *)

public

setUniformData(positionMatrix: Matrix3): boolean

Updates the uniforms of this renderable.

public

updateDataArray(data: *, x1: *, y1: *, width: *, height: *)

public

updateGridData(data: Array, x1: number, y1: number, width: number, height: number)

Updates the data texture by quadrant.

public

updateGridDataViewport(data: *, x1: *, y1: *, width: *, height: *)

Inherited Summary

From class Updateable
public
public
public
public

id: *

public

Cleanup code for when destroying an Updateable.

public

end()

Base call function for when this Updateable is to be ended.

public

onEnd()

Called when the object is being removed or cleaned up from usage.

public

Called when the object is intended to be paused.

public

Called when the the object is first introduced.

public

Called when the object is to be unpaused from paused state.

public

Called on every update within the game, once the object has had onStart called.

public

pause()

Base call function for when this Updateable is to be paused.

public

start()

Base call function for when this Updateable is to be started.

public

Base call function for when this Updateable is to be unpaused.

public

update()

Base call function for when this Updateable is to be updated.

From class Component
public
public
public

Called when the component is successfully added to a GameObject.

From class Renderable
public

color: *

public
public
public
public
public

program: *

public
public

textures: *[]

private
private
private
private
private
public

addToViewport(viewportID: number): *

Adds this component to another viewport to be drawn.

public

getMatrix(): *

Returns a joined matrix of position, scale, rotation and origin adjustment.

public

Called immediatly after the Render component is added to a game object.

public

onEnd()

public

Removes the renderable from all viewports.

public
public

setColor(r: *, g: *, b: *, a: *)

public

setDepth(depth: *)

public

Sets the origin offset matrix to the new position point assigned.

public

setPosition(point: Point)

Sets the position matrix to the new position point assigned.

public

setRotation(rotation: number)

Sets the rotation matrix to the new rotation value assigned.

public

setScale(scale: Point)

Sets the scale matrix to the new scale point assigned.

public

setSubIndex(spriteIndex: *)

public

setTexture(textureObject: *)

public

setUniformData(positionMatrix: *): boolean

From class Renderable2DMultitex
public
public

textures: *[]

public

addTexture(textureObject: textureJSONObject)

Adds a texture to this renderable.

public

removeTexture(textureIndex: number)

Removes the nth texture from this component.

public

Removes all textures from this renderable.

Public Constructors

public constructor(mapTilesTextureName: string, gridData: Array, width: number, height: number, tileViewWidth: number, tileViewHeight: number) source

Constructor for Renderable2D grid. Sets up data and initializes a data texture.

Override:

Renderable2DMultitex#constructor

Params:

NameTypeAttributeDescription
mapTilesTextureName string

Name of sprite sheet texture.

gridData Array

Array of indexes for each tile on the map.

width number

Width of the map.

height number

Height of the map.

tileViewWidth number

Width of the viewport.

tileViewHeight number

Height of the viewport.

Public Members

public className: string source

Override:

Renderable2DMultitex#className

public dataArray: * source

public mapTilesDataTextureName: * source

public mapTilesTexture: * source

public shaderTileData: *[] source

Public Methods

public buildShaderTileData(viewportX1: number, viewportY1: number, viewportWidth: number, viewportHeight: number) source

Sets the viewport of the map grid to x1, y1, width, height (in tiles).

Params:

NameTypeAttributeDescription
viewportX1 number

Top left x position of the viewport.

viewportY1 number

Top left y position of the viewport.

viewportWidth number

Width of the viewport

viewportHeight number

public onEnd() source

Called when the object is being removed or cleaned up from usage.

Override:

Renderable#onEnd

public setGridData(data: *, width: *, height: *, tileViewWidth: *, tileViewHeight: *) source

Params:

NameTypeAttributeDescription
data *
width *
height *
tileViewWidth *
tileViewHeight *

public setUniformData(positionMatrix: Matrix3): boolean source

Updates the uniforms of this renderable. Requires a position matrix for perspective calculations by the RendererManager.

Override:

Renderable#setUniformData

Params:

NameTypeAttributeDescription
positionMatrix Matrix3

Position matrix of this renderable.

Return:

boolean

public updateDataArray(data: *, x1: *, y1: *, width: *, height: *) source

Params:

NameTypeAttributeDescription
data *
x1 *
y1 *
width *
height *

public updateGridData(data: Array, x1: number, y1: number, width: number, height: number) source

Updates the data texture by quadrant. Quadrant is specified by the x1, y1, width, and height parameters.

Params:

NameTypeAttributeDescription
data Array

Array of values indicating the index of each sprite.

x1 number

Top left x position to update.

y1 number

Top left y position to update.

width number

Width (in tiles) of data to update.

height number

Height (in tiles) of data to update.

public updateGridDataViewport(data: *, x1: *, y1: *, width: *, height: *) source

Params:

NameTypeAttributeDescription
data *
x1 *
y1 *
width *
height *