Class AssetManager

Asset を管理するクラス。

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

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

Hierarchy

  • AssetManager

Implements

  • AssetLoadHandler

Constructors

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

_loadings: { [key: string]: AssetLoadingInfo }

読み込み中のアセットの情報。

Type declaration

  • [key: string]: AssetLoadingInfo
_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

    Type Parameters

    • T extends AssetConfigurationCore

    Parameters

    • assetId: string
    • conf: T

    Returns T

  • Private

    Parameters

    • accessorPath: string

    Returns string

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

    Returns boolean

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

    Returns string[]

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

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

    Type Parameters

    Parameters

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

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

    • type: null | string

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

    Returns T[]

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

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

    Type Parameters

    Parameters

    • accessorPath: string

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

    • type: string

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

    Returns T

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

    Type Parameters

    Parameters

    • assetId: string

      取得するアセットのID

    • type: string

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

    Returns T

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

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

    Parameters

    • assetIdOrConf: AssetIdOrConf

      要求するアセットのIDまたは設定

    • handler: AssetManagerLoadHandler

      要求結果を受け取るハンドラ

    Returns boolean

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

    Parameters

    • assetIdOrConfs: AssetIdOrConf[]

      取得するアセットのIDまたはアセット定義

    • handler: AssetManagerLoadHandler

      取得の結果を受け取るハンドラ

    Returns number

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

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

    Parameters

    • patternOrFilters: (string | ((accessorPath: string) => 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