Add object layer rendering
This commit is contained in:
@@ -25,11 +25,15 @@ typedef struct BzTileLayer {
|
||||
f32 opacity;
|
||||
|
||||
i32 tilesetIdx;
|
||||
|
||||
void *userData;
|
||||
} BzTileLayer;
|
||||
|
||||
typedef struct BzTileObject {
|
||||
u32 id;
|
||||
BzTileShape shape;
|
||||
|
||||
void *userData;
|
||||
} BzTileObject;
|
||||
|
||||
typedef struct BzTileObjectLayer {
|
||||
@@ -37,17 +41,22 @@ typedef struct BzTileObjectLayer {
|
||||
i32 objectCount;
|
||||
} BzTileObjectLayer;
|
||||
|
||||
// Return true, if it should be added to map
|
||||
typedef bool BzTileLayerHandler(BzTileLayer *layer);
|
||||
typedef bool BzTileObjectsHandler(BzTileObjectLayer *objectLayer);
|
||||
// Return true, if you want to keep data allocated
|
||||
typedef bool BzTileLayerFunc(BzTileLayer *layer);
|
||||
typedef bool BzTileObjectsFunc(BzTileObjectLayer *objectLayer);
|
||||
|
||||
typedef void BzTileLayerRenderFunc(BzTileLayer *layer);
|
||||
typedef void BzTileObjectsRenderFunc(BzTileObjectLayer *objectLayer);
|
||||
|
||||
typedef struct BzTileLayerDesc {
|
||||
const char *name; // Matches map layer names
|
||||
BzTileLayerHandler *handler;
|
||||
BzTileLayerFunc *handler;
|
||||
BzTileLayerRenderFunc *renderer;
|
||||
} BzTileLayerDesc;
|
||||
typedef struct BzTileObjectsDesc {
|
||||
const char *name; // Matches map layer names
|
||||
BzTileObjectsHandler *handler;
|
||||
BzTileObjectsFunc *handler;
|
||||
BzTileObjectsRenderFunc *renderer;
|
||||
BzStringHashFunc *hashFunc;
|
||||
} BzTileObjectsDesc;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user