Mirror Engine
V7
How To
Mirror Engine Logo

Mirror Engine API


Mirror Engine API / ScreenComponent

Class: ScreenComponent

A ScreenComponent enables the Entity to render child ElementComponents using anchors and positions in the ScreenComponent's space.

Extends

  • Component

Properties

cull

cull: boolean

If true, then elements inside this screen will be not be rendered when outside of the screen (only valid when screenSpace is true).


entity

entity: Entity

The Entity that this Component is attached to.

Inherited from

Component.entity

system

system: ComponentSystem

The ComponentSystem used to create this Component.

Inherited from

Component.system

enabled

Get Signature

get enabled(): boolean

Gets the enabled state of the component.

Returns

boolean

Set Signature

set enabled(arg: boolean): void

Sets the enabled state of the component.

Parameters
arg

boolean

Returns

void

Inherited from

Component.enabled

priority

Get Signature

get priority(): number

Gets the priority.

Returns

number

Set Signature

set priority(value: number): void

Sets the priority. Priority determines the order in which Screen components in the same layer are rendered. Number must be an integer between 0 and 255. Priority is set into the top 8 bits of the drawOrder property in an element.

Parameters
value

number

Returns

void


referenceResolution

Get Signature

get referenceResolution(): Vec2

Gets the resolution that the ScreenComponent is designed for.

Returns

Vec2

Set Signature

set referenceResolution(value: Vec2): void

Sets the resolution that the ScreenComponent is designed for. This is only taken into account when screenSpace is true and scaleMode is SCALEMODE_BLEND. If the actual resolution is different then the ScreenComponent will be scaled according to the scaleBlend value.

Parameters
value

Vec2

Returns

void


resolution

Get Signature

get resolution(): Vec2

Gets the width and height of the ScreenComponent.

Returns

Vec2

Set Signature

set resolution(value: Vec2): void

Sets the width and height of the ScreenComponent. When screenSpace is true the resolution will always be equal to GraphicsDevice#width x GraphicsDevice#height.

Parameters
value

Vec2

Returns

void


scaleBlend

Get Signature

get scaleBlend(): number

Gets the scale blend.

Returns

number

Set Signature

set scaleBlend(value: number): void

Sets the scale blend. This is a value between 0 and 1 that is used when scaleMode is equal to SCALEMODE_BLEND. Scales the ScreenComponent with width as a reference (when value is 0), the height as a reference (when value is 1) or anything in between.

Parameters
value

number

Returns

void


scaleMode

Get Signature

get scaleMode(): string

Gets the scale mode.

Returns

string

Set Signature

set scaleMode(value: string): void

Sets the scale mode. Can either be SCALEMODE_NONE or SCALEMODE_BLEND. See the description of referenceResolution for more information.

Parameters
value

string

Returns

void


screenSpace

Get Signature

get screenSpace(): boolean

Gets whether the ScreenComponent will render its child ElementComponents in screen space instead of world space.

Returns

boolean

Set Signature

set screenSpace(value: boolean): void

Sets whether the ScreenComponent will render its child ElementComponents in screen space instead of world space. Enable this to create 2D user interfaces.

Parameters
value

boolean

Returns

void

Methods

fire()

fire(
   name: string,
   arg1?: any,
   arg2?: any,
   arg3?: any,
   arg4?: any,
   arg5?: any,
   arg6?: any,
   arg7?: any,
   arg8?: any): EventHandler

Fire an event, all additional arguments are passed on to the event listener.

Parameters

name

string

Name of event to fire.

arg1?

any

First argument that is passed to the event handler.

arg2?

any

Second argument that is passed to the event handler.

arg3?

any

Third argument that is passed to the event handler.

arg4?

any

Fourth argument that is passed to the event handler.

arg5?

any

Fifth argument that is passed to the event handler.

arg6?

any

Sixth argument that is passed to the event handler.

arg7?

any

Seventh argument that is passed to the event handler.

arg8?

any

Eighth argument that is passed to the event handler.

Returns

EventHandler

Self for chaining.

Example

obj.fire('test', 'This is the message')

Inherited from

Component.fire

hasEvent()

hasEvent(name: string): boolean

Test if there are any handlers bound to an event name.

Parameters

name

string

The name of the event to test.

Returns

boolean

True if the object has handlers bound to the specified event name.

Example

obj.on('test', () => {}) // bind an event to 'test'
obj.hasEvent('test') // returns true
obj.hasEvent('hello') // returns false

Inherited from

Component.hasEvent

off()

off(
   name?: string,
   callback?: HandleEventCallback,
   scope?: any): EventHandler

Detach an event handler from an event. If callback is not provided then all callbacks are unbound from the event, if scope is not provided then all events with the callback will be unbound.

Parameters

name?

string

Name of the event to unbind.

callback?

HandleEventCallback

Function to be unbound.

scope?

any

Scope that was used as the this when the event is fired.

Returns

EventHandler

Self for chaining.

Example

const handler = () => {}
obj.on('test', handler)

obj.off() // Removes all events
obj.off('test') // Removes all events called 'test'
obj.off('test', handler) // Removes all handler functions, called 'test'
obj.off('test', handler, this) // Removes all handler functions, called 'test' with scope this

Inherited from

Component.off

on()

on(
   name: string,
   callback: HandleEventCallback,
   scope?: any): EventHandle

Attach an event handler to an event.

Parameters

name

string

Name of the event to bind the callback to.

callback

HandleEventCallback

Function that is called when event is fired. Note the callback is limited to 8 arguments.

scope?

any = ...

Object to use as 'this' when the event is fired, defaults to current this.

Returns

EventHandle

Can be used for removing event in the future.

Examples

obj.on('test', (a, b) => {
  console.log(a + b)
})
obj.fire('test', 1, 2) // prints 3 to the console
const evt = obj.on('test', (a, b) => {
  console.log(a + b)
})
// some time later
evt.off()

Inherited from

Component.on

once()

once(
   name: string,
   callback: HandleEventCallback,
   scope?: any): EventHandle

Attach an event handler to an event. This handler will be removed after being fired once.

Parameters

name

string

Name of the event to bind the callback to.

callback

HandleEventCallback

Function that is called when event is fired. Note the callback is limited to 8 arguments.

scope?

any = ...

Object to use as 'this' when the event is fired, defaults to current this.

Returns

EventHandle

  • can be used for removing event in the future.

Example

obj.once('test', (a, b) => {
  console.log(a + b)
})
obj.fire('test', 1, 2) // prints 3 to the console
obj.fire('test', 1, 2) // not going to get handled

Inherited from

Component.once

syncDrawOrder()

syncDrawOrder(): void

Set the drawOrder of each child ElementComponent so that ElementComponents which are last in the hierarchy are rendered on top. Draw Order sync is queued and will be updated by the next update loop.

Returns

void

Mirror Engine Logo