Class AssetManager

Asset を管理するクラス。

このクラスのインスタンスは Game に一つデフォルトで存在する(デフォルトアセットマネージャ)。 デフォルトアセットマネージャは、game.json に記述された通常のアセットを読み込むために利用される。

ゲーム開発者は、game.json に記述のないリソースを取得するために、このクラスのインスタンスを独自に生成してよい。

Hierarchy

  • AssetManager

Implements

  • AssetLoadHandler

Constructors

  • AssetManager のインスタンスを生成する。

    Parameters

    • gameParams: AssetManagerParameterGameLike

      このインスタンスが属するゲーム。

    • Optional conf: AssetConfigurationMap

      このアセットマネージャに与えるアセット定義。game.json の "assets" に相当。

    • Optional audioSystemConfMap: AudioSystemConfigurationMap

      このアセットマネージャに与えるオーディオシステムの宣言。

    • Optional moduleMainScripts: ModuleMainScriptsMap

      このアセットマネージャに与える require() 解決用のエントリポイント。

    Returns AssetManager

Properties

_assets: {
    [key: string]: OneOfAsset;
}

読み込み済みのアセット。 requestAssets() で読み込みをリクエストしたゲーム開発者はコールバックでアセットを受け取るので、この変数を参照する必要は通常ない

Type declaration

_audioSystemConfMap: AudioSystemConfigurationMap

オーディオシステムの宣言。

_audioSystemManager: AudioSystemManager

オーディオシステム群

_defaultAudioSystemId: "music" | "sound"

デフォルトで利用されるオーディオシステムのID。

_generatedAssetCount: number

動的生成アセットを生成した回数。

_liveAssetPathTable: {
    [path: string]: string;
}

読み込み済みのアセットの絶対パスからrequire解決用の仮想パスを引くためのテーブル。

Type declaration

  • [path: string]: string
_liveAssetVirtualPathTable: {
    [key: string]: OneOfAsset;
}

読み込み済みのrequire解決用の仮想パスからアセットを引くためのテーブル。 アセットIDと異なり、ファイルパスは重複しうる (同じ画像を複数の名前で参照することはできる) ので、要素数は _assets 以下である。 この情報は逆引き用の補助的な値にすぎない。このクラスの読み込み済みアセットの管理はすべて _assets 経由で行う。

Type declaration

_moduleMainScripts: ModuleMainScriptsMap

requireの第一引数から対応する仮想パスを引くためのテーブル。

_refCounts: {
    [key: string]: number;
}

各アセットに対する参照の数。 参照は requestAssets() で増え、unrefAssets() で減る。 なおロード中であっても参照に数える。つまり (this._refCounts[id] > 1) であるなら !!(this._assets[id] || this._loadings[id])

Type declaration

  • [key: string]: number
_resourceFactory: ResourceFactory

各種リソースのファクトリ。

_virtualPathToIdTable: {
    [key: string]: string;
}

require解決用の仮想パスからアセットIDを引くためのテーブル。

Type declaration

  • [key: string]: string
configuration: AssetConfigurationMap

コンストラクタに渡されたアセットの設定。(assets.json が入っていることが期待される)

MAX_ERROR_COUNT: number = 3

Methods

  • Private

    現在ロード中のアセットの数。(デバッグ用; 直接の用途はない)

    Returns number

  • Private

    Parameters

    • accessorPath: string

    Returns string

  • このインスタンスが破棄済みであるかどうかを返す。

    Returns boolean

  • グローバルアセットのIDを全て返す。

    Returns string[]

  • パターンまたはフィルタにマッチするパスを持つ、指定されたタイプの全読み込み済みアセットを返す。

    戻り値の要素の順序は保証されない。 パターンとフィルタについては AssetAccessor#getAllImages() の仕様を参照のこと。

    Type Parameters

    Parameters

    • patternOrFilter: string | ((accessorPath) => boolean)

      取得するアセットのパスパターンまたはフィルタ

    • type: null | T["type"]

      取得するアセットのタイプ。 null の場合、全てのタイプとして扱われる。

    Returns T[]

  • アクセッサパスで指定された読み込み済みのアセットを返す。

    ここでアクセッサパスとは、 AssetAccessor が使うパス (game.jsonのディレクトリをルート (/) とする、 / 区切りの絶対パス形式の仮想パス)である。 これは / を除けばアセットの仮想パス (virtualPath) と同一である。

    Type Parameters

    Parameters

    • accessorPath: string

      取得するアセットのアクセッサパス

    • type: T["type"]

      取得するアセットのタイプ。対象のアセットと合致しない場合、エラー

    Returns T

  • アセットIDで指定された読み込み済みのアセットを返す。

    Type Parameters

    Parameters

    • assetId: string

      取得するアセットのID

    • type: T["type"]

      取得するアセットのタイプ。対象のアセットと合致しない場合、エラー

    Returns T

  • プリロードすべきスクリプトアセットのIDを全て返す。

    Returns string[]

  • アセットの取得を要求する。

    要求したアセットが読み込み済みでない場合、読み込みが行われる。 取得した結果は handler を通して通知される。 ゲーム開発者はこのメソッドを呼び出してアセットを取得した場合、 同じアセットID(または取得したアセット)で unrefAsset() を呼び出さなければならない。

    Parameters

    Returns boolean

  • 複数のアセットの取得を要求する。 引数の各要素で requestAsset() を呼び出す。

    Parameters

    Returns number

  • アセットIDから読み込み済みのアクセッサパス返す。 当該のアセットが読み込まれていない場合、 null を返す。

    Parameters

    • assetId: string

      取得するアセットのID

    Returns null | string

  • パターンまたはフィルタに合致するパスを持つアセットIDを全て返す。

    戻り値は読み込み済みでないアセットのIDを含むことに注意。 読み込み済みのアセットにアクセスする場合は、 peekAllLiveAssetsByPattern() を利用すること。

    Parameters

    • patternOrFilters: (string | ((accessorPath) => boolean))[]

      パターンまたはフィルタ。仕様は AssetAccessor#getAllImages() を参照

    Returns string[]

  • Asset の読み込みを再試行する。

    引数 asset は読み込みの失敗が (Scene#assetLoadFail で) 通知されたアセットでなければならない。

    Parameters

    • asset: Asset

      読み込みを再試行するアセット

    Returns void

  • アセットの参照カウントを減らす。 引数の各要素で unrefAsset() を呼び出す。

    Parameters

    • assetOrId: string | Asset

      参照カウントを減らすアセットまたはアセットID

    Returns void

  • Private

    複数のアセットを解放する。 引数の各要素で unrefAsset() を呼び出す。

    Parameters

    • assetOrIds: (string | Asset)[]

      参照カウントを減らすアセットまたはアセットID

    Returns void

Generated using TypeDoc