Documentation
¶
Overview ¶
Package loader はゲームエンジンのリソース読み込み機能を提供する。
このパッケージは純粋なリソース読み込み処理に特化しており、 ゲーム固有のロジックを含まない汎用的な設計となっている。
主な責務:
- TOMLファイルからのメタデータ読み込み
- フォント、スプライトシート、Rawデータの管理
- リソースキャッシュ機能
- 設定可能なファイルパス管理
使い分け:
- loader: 純粋なリソース読み込み処理(汎用的、再利用可能)
- resources: ゲーム固有のリソース管理(Dungeon、StateEventなど)
設計思想:
- 他のプロジェクトでも再利用できる汎用性
- 依存関係を最小限に抑えた設計
- インターフェースベースの拡張可能な設計
使用例:
loader := loader.NewResourceLoader()
fonts, err := loader.LoadFonts()
if err != nil {
return err
}
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func LoadSpriteSheetFromAseprite ¶
func LoadSpriteSheetFromAseprite(jsonPath string) (components.SpriteSheet, error)
LoadSpriteSheetFromAseprite は Aseprite JSON フォーマットからスプライトシートを読み込む
Types ¶
type AsepriteFrame ¶
type AsepriteFrame struct {
Filename string `json:"filename"`
Frame AsepriteRect `json:"frame"`
Rotated bool `json:"rotated"`
Trimmed bool `json:"trimmed"`
SpriteSourceSize AsepriteRect `json:"spriteSourceSize"`
SourceSize AsepriteSize `json:"sourceSize"`
Duration int `json:"duration"`
}
AsepriteFrame は1つのスプライトフレーム情報
type AsepriteJSON ¶
type AsepriteJSON struct {
Frames []AsepriteFrame `json:"frames"`
Meta AsepriteMeta `json:"meta"`
}
AsepriteJSON は Aseprite が生成する JSON スプライトシートフォーマット
type AsepriteMeta ¶
type AsepriteMeta struct {
App string `json:"app"`
Version string `json:"version"`
Image string `json:"image"`
Format string `json:"format"`
Size AsepriteSize `json:"size"`
Scale string `json:"scale"`
}
AsepriteMeta はメタデータ
type AsepriteRect ¶
AsepriteRect は矩形の位置とサイズ
type AsepriteSize ¶
AsepriteSize はサイズ
type DefaultResourceLoader ¶
type DefaultResourceLoader struct {
// contains filtered or unexported fields
}
DefaultResourceLoader はResourceLoaderのデフォルト実装
func (*DefaultResourceLoader) LoadFonts ¶
func (rl *DefaultResourceLoader) LoadFonts() (map[string]resources.Font, error)
LoadFonts はフォントリソースを読み込む
func (*DefaultResourceLoader) LoadRaws ¶
func (rl *DefaultResourceLoader) LoadRaws() (*raw.Master, error)
LoadRaws はRawデータを読み込む
func (*DefaultResourceLoader) LoadSpriteSheets ¶
func (rl *DefaultResourceLoader) LoadSpriteSheets() (map[string]components.SpriteSheet, error)
LoadSpriteSheets はスプライトシートリソースを読み込む
type ResourceCache ¶
type ResourceCache struct {
Fonts map[string]resources.Font
SpriteSheets map[string]components.SpriteSheet
RawMaster *raw.Master
}
ResourceCache は読み込み済みのリソースをキャッシュする
type ResourceConfig ¶
ResourceConfig はリソースファイルのパスを管理する設定
type ResourceLoader ¶
type ResourceLoader interface {
// フォント関連
LoadFonts() (map[string]resources.Font, error)
// スプライトシート関連
LoadSpriteSheets() (map[string]components.SpriteSheet, error)
// Raw(エンティティ定義)関連
LoadRaws() (*raw.Master, error)
}
ResourceLoader はすべてのリソースの読み込みを統括するインターフェース
func NewResourceLoader ¶
func NewResourceLoader() ResourceLoader
NewResourceLoader はデフォルトのパス設定でResourceLoaderを作成する
Click to show internal directories.
Click to hide internal directories.