本文へスキップ

エク

プロパティ

タイプ

インフォメーション

Currently, storing dynamically sized objects or lists isn’t supported. We’re actively exploring this feature and would love to hear about your specific use cases.

The following data types are useful for creating Schema properties on a Custom Component or references to a specific type.

TypeDescription
ecs.eidEntity Reference
ecs.f3232-bit floating-point number
ecs.f6464-bit floating-point number
ecs.i3232-bit integer
ecs.ui88-bit unsigned integer
ecs.ui3232-bit unsigned integer
ecs.stringString
ecs.booleanBoolean

機能

登録コンポーネント

コンポーネントをECSに登録する。

ecs.registerComponent({
name: string,
schema: Schema,
data: Schema,
schemaDefaults: Object,
add: function
remove: function,
tick: function
})// -> コンポーネント・ハンドル

パラメータタイプ説明
triggers(必須)Record<String, Trigger[]>このステートと遷移する次のステートの名前とそのトリガー。
onEnterfunctionステートに入る前に呼ばれる関数。
onExitfunctionステートに入る前に呼ばれる関数。

トリガー

イベントトリガー
パラメータタイプ説明
type (必須)constant: 'event'トリガーのタイプを示す定数
event (必須)stringこのトリガーとなるイベントタイプ
targeteidこのトリガーの状態を変更したいエンティティ
beforeTransition(event) => booleanトランジションの前に実行される関数で、結果が真であればトランジションは終了し、状態は変化しない。
タイムアウトトリガー
パラメータタイプ説明
type (必須)constant: 'timeout'トリガーのタイプを示す定数
timeout(必須)number遷移するまでのミリ秒数

ステートマシン

ステートマシンを作る。

ecs.createStateMachine(world, owner, {initialState: string, states: Record<string, State>}) // -> ステートマシンID

デリートステートマシン

ステートマシンを削除する。

ecs.deleteStateMachine(world, machineId) // -> void

定義状態

状態を定義する。

ecs.defineState(name: string) // -> State

初回

この状態をステートマシンの初期状態としてマークする。

ecs.defineState(name).initial() // -> void

オンエンター

この状態になったときに実行するコールバックを設定する。

ecs.defineState(name).onEnter(callback) // -> void

オンイベント

イベント
パラメータタイプ説明
targeteidこのトリガーの状態を変更したいエンティティ
beforeTransition(event) => boolean遷移の前に実行される関数で、結果が真であれば遷移は終了し、状態は変化しない。

イベント受信時に次のステートへの遷移をトリガーする。

ecs.defineState(name).onEvent(event: string, nextState: string | State, args: EventObject) // -> void

終了

この状態を終了するときに実行するコールバックを設定します。

ecs.defineState(name).onExit(callback) // -> void

ウェイト

状態を移行する前に待つ。

ecs.defineState(name).wait(waitTime: number, nextState: string | State) // -> void

定義システム

システムを定義する。

ecs.defineSystem([terms]: string[], behavior: function) // -> System

定義クエリ

クエリーを定義する。

ecs.defineQuery([terms: string]) // -> コールバック

属性の取得

内蔵コンポーネントもecsのプロパティとして公開されている。

ecs.getAttribute(attributeName: string) // -> その名前で登録されている属性。

リスト属性

属性のリストを返す。

ecs.listAttributes() // -> string[].

ゲットビヘイビア

登録されているビヘイビアのリストを返します。

ecs.getBehaviors() // -> function[].

レジスタ・ビヘイビア

刻みごとにワールド上で実行される関数を登録する。

ecs.registerBehavior(behavior: function) // -> void

アンレジスタービヘイビア

ビヘイビアを非アクティブにする。

ecs.unregisterBehavior(behavior: function) // -> void