Skip to content

@fibbojs / core / FComponent

Class: abstract FComponent

The base class for all 2D and 3D components in Fibbo.

Extended by

Constructors

new FComponent()

new FComponent(scene, options?): FComponent

Parameters

scene: FScene

options?: FComponentOptions

Returns

FComponent

Defined in

core/src/FComponent.ts:66

Methods

emitCollisionWith()

emitCollisionWith(options): void

Emit a collision event with a given class or object.

Parameters

options

The options for the collision event.

options.class?: any

The class to emit the collision event with.

options.component?: FComponent

The component to emit the collision event with.

Returns

void

Examples

typescript
const player = new Player()
const enemy = new Enemy()
player.emitCollisionWith({
  class: Enemy
})
typescript
const player = new Player()
const enemy = new Enemy()
player.emitCollisionWith({
  object: enemy
})

Defined in

core/src/FComponent.ts:204


emitOnLoaded()

emitOnLoaded(): void

Emit the onLoaded callbacks.

Returns

void

Defined in

core/src/FComponent.ts:126


frame()

frame(delta): void

Update the component. Should be called every frame. The purpose of this method is to render the component, its mesh/sprite, and its properties.

Parameters

delta: number

The time since the last frame.

Returns

void

Defined in

core/src/FComponent.ts:96


onCollisionWith()

onCollisionWith(classOrObject, callback): () => void

Add a callback to be called when a collision occurs.

Parameters

classOrObject: any

The class or object to add the callback to.

callback

The callback to add.

Returns

Function

A function to remove the callback.

Returns

void

Examples

typescript
const player = new Player()
const enemy = new Enemy()
player.onCollisionWith(Enemy, () => {
  console.log('Player collided with an Enemy!')
})
typescript
const player = new Player()
const enemy = new Enemy()
player.onCollisionWith(enemy, () => {
  console.log('Player collided with the enemy!')
})

Defined in

core/src/FComponent.ts:154


onFrame()

onFrame(callback): void

Add a callback to be called every frame.

Parameters

callback

The callback function.

Returns

void

Defined in

core/src/FComponent.ts:111


onLoaded()

onLoaded(callback): void

Add a callback to be called when the component is loaded (could be a texture, a 3D model, etc).

Parameters

callback

The callback function.

Returns

void

Defined in

core/src/FComponent.ts:119

Properties

__CALLBACKS_ON_COLLISION__

__CALLBACKS_ON_COLLISION__: object = {}

Callbacks for when a collision occurs with a given class or object. It is a dictionary where the key is the class name or object id and the value is an array of callbacks.

Index Signature

[key: string]: (data) => void[]

Defined in

core/src/FComponent.ts:54


__CALLBACKS_ON_FRAME__

__CALLBACKS_ON_FRAME__: () => void[] = []

Callbacks for when a frame is rendered.

Defined in

core/src/FComponent.ts:43


__CALLBACKS_ON_LOADED__

__CALLBACKS_ON_LOADED__: () => void[] = []

Callbacks for when the component is loaded (could be a texture, a 3D model, etc).

Defined in

core/src/FComponent.ts:48


__ID__

__ID__: number

Unique identifier for the component. It is generated automatically.

Defined in

core/src/FComponent.ts:38


__IS_2D__

__IS_2D__: boolean = false

Defined in

core/src/FComponent.ts:32


__IS_3D__

__IS_3D__: boolean = false

Internal flags

Defined in

core/src/FComponent.ts:31


controller?

optional controller: FController

The controller attached to the component.

Defined in

core/src/FComponent.ts:64


scene

scene: FScene

The scene the component is attached to.

Defined in

core/src/FComponent.ts:59