Added a dynamic array.
This commit is contained in:
46
include/dawn/display/scene.h
Normal file
46
include/dawn/display/scene.h
Normal file
@ -0,0 +1,46 @@
|
||||
/**
|
||||
* Copyright (c) 2021 Dominic Masters
|
||||
*
|
||||
* This software is released under the MIT License.
|
||||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include "../libs.h"
|
||||
#include "../engine/engine.h"
|
||||
|
||||
/** Maximum number of items a scene can support */
|
||||
#define SCENE_ITEMS_MAX 32
|
||||
|
||||
|
||||
typedef struct _scene_t scene_t;
|
||||
typedef struct _sceneitem_t sceneitem_t;
|
||||
|
||||
/**
|
||||
* Callback for when scene events occur.
|
||||
*
|
||||
* @param scene The scene that is being evented.
|
||||
* @param i The index of the current scene item.
|
||||
* @param engine The game's engine.
|
||||
*/
|
||||
typedef void sceneitemcallback_t(
|
||||
scene_t *scene, int32_t i, engine_t *engine
|
||||
);
|
||||
|
||||
typedef struct _sceneitem_t {
|
||||
sceneitemcallback_t *onUpdate;
|
||||
sceneitemcallback_t *onRender;
|
||||
sceneitemcallback_t *onDispose;
|
||||
} sceneitem_t;
|
||||
|
||||
typedef struct _scene_t {
|
||||
/** Camera that is used to render the scene */
|
||||
camera_t camera;
|
||||
|
||||
/** Any custom user data pointer */
|
||||
void *user;
|
||||
|
||||
/** Items within the scene */
|
||||
sceneitem_t items[SCENE_ITEMS_MAX];
|
||||
int32_t itemCount;
|
||||
} scene_t;
|
Reference in New Issue
Block a user