eco2d/code/game/src/world_view.h

27 lines
690 B
C
Raw Normal View History

2021-05-06 15:30:38 +00:00
#pragma once
#include "system.h"
#include "entity_view.h"
#include "world/world.h"
typedef struct {
2021-05-07 14:43:54 +00:00
uint16_t view_id;
2021-05-06 15:30:38 +00:00
uint64_t owner_id;
entity_view_tbl entities;
librg_world *tracker;
2021-05-06 18:24:01 +00:00
2021-08-30 17:39:25 +00:00
uint32_t seed;
2021-05-06 18:24:01 +00:00
uint32_t size;
2021-05-08 07:07:24 +00:00
uint32_t dim;
2021-05-06 18:24:01 +00:00
uint16_t chunk_size;
2021-05-08 06:55:12 +00:00
uint16_t chunk_amount;
// NOTE(zaklaus): metrics
2021-11-04 14:43:23 +00:00
float last_update[WORLD_TRACKER_LAYERS];
float delta_time[WORLD_TRACKER_LAYERS];
uint8_t active_layer_id;
2021-05-06 15:30:38 +00:00
} world_view;
2021-05-07 14:43:54 +00:00
world_view world_view_create(uint16_t view_id);
2021-08-30 17:39:25 +00:00
void world_view_init(world_view *view, uint32_t seed, uint64_t ent_id, uint16_t chunk_size, uint16_t chunk_amount);
2021-05-06 15:30:38 +00:00
void world_view_destroy(world_view *view);