Interface ScriptAsset

スクリプトリソースを表すインターフェース。 本クラスのインスタンスをゲーム開発者が直接生成することはない。 game.jsonによって定義された内容をもとに暗黙的に生成されたインスタンスを、 Scene#assets、またはGame#assetsによって取得して利用する。

ScriptAsset#executeによって、本リソースが表すスクリプトを実行し、その結果を受け取る事が出来る。 requireによる参照とは異なり、executeはキャッシュされないため、何度でも呼び出し違う結果を受け取ることが出来る。

interface ScriptAsset {
    exports?: string[];
    id: string;
    onDestroyed: Trigger<Asset>;
    originalPath: string;
    path: string;
    script: string;
    type: "script";
    destroy(): void;
    destroyed(): boolean;
    execute(execEnv: ScriptAssetRuntimeValue): any;
    inUse(): boolean;
}

Hierarchy (view full)

Properties

exports?: string[]
id: string
onDestroyed: Trigger<Asset>
originalPath: string
path: string
script: string
type: "script"

Methods

  • このアセットのリソースの破棄を行う。

    Returns void

  • このアセットのリソースが破棄済みであるかどうかを判定する。

    Returns boolean

  • Parameters

    Returns any

  • 現在利用中で解放出来ない Asset かどうかを返す。 戻り値は、利用中である場合真、でなければ偽である。

    本メソッドは通常 false が返るべきである。 例えば Sprite の元画像として使われているケース等では、その Sprite によって AssetSurface に変換されているべきで、 Asset が利用中で解放出来ない状態になっていない事を各プラットフォームで保障する必要がある。

    唯一、例外的に本メソッドが true を返すことがあるのは音楽を表す Asset である。 BGM等はシーンをまたいで演奏することもありえる上、 演奏中のリソースのコピーを常に各プラットフォームに強制するにはコストがかかりすぎるため、 本メソッドは true を返し、適切なタイミングで Asset が解放されるよう制御する必要がある。

    Returns boolean