BinaryAsset
Asset for loading binary files as raw bytes.
BinaryAsset loads any file as raw binary data, making it useful for:
- Custom file formats
- Binary protocols
- Compressed data
- Non-text resources
The loaded data is provided as haxe.io.Bytes, which can be processed as needed by your application.
Features:
- Hot-reload support for binary files
- Asynchronous loading
- Memory-efficient byte handling
// Load a binary file
var binaryAsset = new BinaryAsset('data');
binaryAsset.path = 'data/level.dat';
binaryAsset.onComplete(this, success -> {
if (success) {
// Access the raw bytes
var bytes = binaryAsset.bytes;
trace('Loaded ${bytes.length} bytes');
// Process the binary data
var input = new haxe.io.BytesInput(bytes);
var version = input.readInt32();
// ... read more data
}
});
assets.addAsset(binaryAsset);
assets.load();
Instance Members
bytes: haxe.io.BytesThe loaded binary data as raw bytes. Will be null until the asset is successfully loaded.
Use haxe.io APIs to read and process the binary data:
- BytesInput for reading
- BytesOutput for writing
- BytesBuffer for building
invalidateBytes(): Voidload(): VoidLoads the binary file from the specified path.
The loading is asynchronous and will emit a complete event when finished. On success, the bytes property will contain the loaded data.
Supports hot-reload on platforms that allow it - the file will be automatically reloaded when it changes on disk.
destroy(): VoidDestroys the binary asset and releases the loaded bytes from memory.
new(name: String, ?variant: String, ?options: Null<AssetOptions>): Void| Name | Type | Default |
|---|---|---|
name |
String | |
variant |
String | (optional) |
options |
Null<AssetOptions> | (optional) |
Private Members
unobservedBytes: haxe.io.BytesemitBytesChange(current: haxe.io.Bytes, previous: haxe.io.Bytes): VoidEvent when bytes field changes.
| Name | Type |
|---|---|
current |
haxe.io.Bytes |
previous |
haxe.io.Bytes |
assetFilesDidChange(newFiles: ReadOnlyMap<String, Float>, previousFiles: ReadOnlyMap<String, Float>): VoidCalled when asset files change on disk (hot-reload support). Automatically reloads the binary file if it has been modified.
| Name | Type | Description |
|---|---|---|
newFiles |
ReadOnlyMap<String, Float> | Map of current files and their modification times |
previousFiles |
ReadOnlyMap<String, Float> | Map of previous files and their modification times |
Metadata
| Name | Parameters |
|---|---|
:build |
tracker.macros.EventsMacro.build() |
:autoBuild |
tracker.macros.EventsMacro.build() |
:build |
ceramic.macros.EntityMacro.buildForCompletion() |
:autoBuild |
ceramic.macros.EntityMacro.buildForCompletion() |
:build |
tracker.macros.ObservableMacro.build() |
:autoBuild |
tracker.macros.ObservableMacro.build() |