{"repo":"quasilyte/ebitengine-resource","free":true,"listed":false,"github":"https://github.com/quasilyte/ebitengine-resource","clone":"git clone https://github.com/quasilyte/ebitengine-resource.git","description":"A resource manager for Ebitengine","language":"Go","stars":26,"topics":["ebiten","ebitengine","gamedev","go","golang","loader","resource-loader","resource-manager","resources"],"license":"MIT","category":"game-templates","readme_excerpt":"Ebitengine Resource Manager Library Overview A resource manager (loader) for Ebitengine. Key features: Resource caching (only the first load decodes the resource) Easy to use and opinionated iota-friendly typed constants API Int-based keys are also efficient, so the lookups are very fast Dependencies: Ebitengine itself golang.org/x/image for golang.org/x/image/font Some games that were built with this library: Roboden Cavebots Assemblox Decipherism Retrowave City Autotanks Sinecord Learn Georgian Installation Quick Start Introduction How to use this library properly? You start by creating a loader with resource.NewLoader(). It should happen after you acquired an audio.Context from Ebitengine. It's not recommended to make loader global, pass it as an explicit dependency everywhere you need to access the game resources. Then you bind the resources using typed registries. For instance, binding image resources is done via loader.ImageRegistry field (use Set or Assign methods). The loader acts as a cached resource access point. Resources are keyed by their ID. The ID is a simple integer. All metadata is associated with that ID too. It's recommended to make the core resources iota-style constants. If you want to preload a resource, do a respective Load (e.g. LoadImage, LoadAudio) call either during a game launch or during the loading screen. Most types in a package can be described by these categories: 1. ID types that belong to specific kind of resource (e.g. ImageID, AudioID) 2. ","default_branch":null,"files":null,"tree":[],"storefront":"/r/quasilyte","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/quasilyte/ebitengine-resource/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}