2025-05-31 00:27:25 +02:00

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