Options
All
  • Public
  • Public/Protected
  • All
Menu

Class SurfaceAtlasSet

DynamicFont で使用される SurfaceAtlas を管理するクラス。

歴史的経緯のため、名前に反して DynamicFont 専用のクラスであり、汎用の SurfaceAtlas 管理クラスではない点に注意。

Hierarchy

  • SurfaceAtlasSet

Implements

Index

Constructors

constructor

Properties

Private _atlasGlyphsTable

_atlasGlyphsTable: Glyph[][]

Private _atlasSize

_atlasSize: CommonSize

Private _currentAtlasIndex

_currentAtlasIndex: number

Private _maxAtlasNum

_maxAtlasNum: number

Private _resourceFactory

_resourceFactory: ResourceFactory

Private _surfaceAtlases

_surfaceAtlases: SurfaceAtlas[]

Static INITIAL_MAX_SURFACEATLAS_NUM

INITIAL_MAX_SURFACEATLAS_NUM: number

SurfaceAtlas最大保持数初期値

Methods

Private _deleteAtlas

  • _deleteAtlas(delteNum: number): void
  • Parameters

    • delteNum: number

    Returns void

Private _findLeastFrequentlyUsedAtlasIndex

  • _findLeastFrequentlyUsedAtlasIndex(): number
  • surfaceAtlases の最も利用されていない SurfaceAtlas を探し、 そのインデックスを返す。

    _surfaceAtlases の長さが 0 の場合、 -1 を返す。

    Returns number

Private _moveGlyphSurface

  • _moveGlyphSurface(glyph: Glyph): boolean
  • 空き領域のある SurfaceAtlas を探索する。 glyph が持つ情報を SurfaceAtlas へ移動し、移動した SurfaceAtlas の情報で glyph を置き換える。 glyph が持っていた surface は破棄される。

    移動に成功した場合 true を、失敗した (空き領域が見つからなかった) 場合 false を返す。

    Parameters

    Returns boolean

Private _reallocateAtlas

  • _reallocateAtlas(): void
  • サーフェスアトラスの再割り当てを行う。

    Returns void

Private _spliceLeastFrequentlyUsedAtlas

  • surfaceAtlases の最も利用されていない SurfaceAtlas を切り離して返す。

    返された SurfaceAtlas に紐づいていたすべての Glyph はサーフェスを失う (_isSurfaceValid が偽になる) 。 _surfaceAtlases の長さが 0 の場合、 何もせず null を返す。

    Returns SurfaceAtlas | null

addGlyph

  • addGlyph(glyph: Glyph): boolean
  • グリフを追加する。

    glyph が持っていたサーフェスは破棄され、このクラスが管理するいずれかの (サーフェスアトラスの) サーフェスに紐づけられる。 追加に成功した場合 true を、失敗した (空き領域が見つからなかった) 場合 false を返す。

    通常、ゲーム開発者がこのメソッドを呼び出す必要はない。

    Parameters

    Returns boolean

changeMaxAtlasNum

  • changeMaxAtlasNum(value: number): void
  • 最大アトラス保持数設定する。

    設定された値が、現在保持している_surfaceAtlasesの数より大きい場合、 removeLeastFrequentlyUsedAtlas()で設定値まで削除する。

    Parameters

    • value: number

      設定値

    Returns void

destroy

  • destroy(): void
  • このインスタンスを破棄する。

    Returns void

destroyed

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

    Returns boolean

getAtlas

  • 引数で指定されたindexのサーフェスアトラスを取得する。

    通常、ゲーム開発者がこのメソッドを呼び出す必要はない。

    Parameters

    • index: number

      取得対象のインデックス

    Returns SurfaceAtlas

getAtlasNum

  • getAtlasNum(): number
  • サーフェスアトラスの保持数を取得する。

    通常、ゲーム開発者がこのメソッドを呼び出す必要はない。

    Returns number

getAtlasSize

  • サーフェスアトラスのサイズを取得する。

    通常、ゲーム開発者がこのメソッドを呼び出す必要はない。

    Returns CommonSize

getMaxAtlasNum

  • getMaxAtlasNum(): number
  • 最大サーフェスアトラス保持数取得する。

    Returns number

touchGlyph

  • touchGlyph(glyph: Glyph): void
  • グリフの利用を通知する。

    サーフェスが不足した時、このクラスは最も利用頻度の低いサーフェスを解放して再利用する。 このメソッドによるグリフの利用通知は、利用頻度の低いサーフェスを特定するために利用される。

    通常、ゲーム開発者がこのメソッドを呼び出す必要はない。

    Parameters

    Returns void

Generated using TypeDoc