47 lines
840 B
C
47 lines
840 B
C
#ifndef ENTITY_H
|
|
# define ENTITY_H
|
|
|
|
#include <stddef.h>
|
|
#include <stdint.h>
|
|
#include <stdbool.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include <raylib.h>
|
|
#include <assert.h>
|
|
|
|
#define MAX_ENTITY 100000000 //100 000 000
|
|
|
|
typedef struct entity_pool {
|
|
// entity_stats
|
|
int32_t *health;
|
|
uint32_t *max_health;
|
|
uint16_t *regeneration;
|
|
uint16_t *damage;
|
|
// entity_info
|
|
Vector3 *position;
|
|
Vector3 *min;
|
|
Vector3 *max;
|
|
Vector3 *direction;
|
|
Vector3 *velocity;
|
|
// data control
|
|
uint64_t controle_bit[MAX_ENTITY / sizeof(uint64_t)];
|
|
uint32_t size;
|
|
uint32_t capacity;
|
|
} entity_pool;
|
|
|
|
typedef struct entity {
|
|
// entity_stats
|
|
int32_t health;
|
|
uint32_t max_health;
|
|
uint16_t regeneration;
|
|
uint16_t damage;
|
|
// entity_info
|
|
Vector3 position;
|
|
Vector3 min;
|
|
Vector3 max;
|
|
Vector3 direction;
|
|
Vector3 velocity;
|
|
} entity;
|
|
|
|
#endif
|