50 lines
899 B
C
50 lines
899 B
C
|
#pragma once
|
||
|
|
||
|
#include "core/locommon/position.h"
|
||
|
#include "core/loentity/store.h"
|
||
|
|
||
|
#include "./chunk.h"
|
||
|
#include "./store.h"
|
||
|
|
||
|
struct loworld_view_t;
|
||
|
typedef struct loworld_view_t loworld_view_t;
|
||
|
|
||
|
loworld_view_t* /* OWNERSHIP */
|
||
|
loworld_view_new(
|
||
|
loworld_store_t* world,
|
||
|
loentity_store_t* entities,
|
||
|
const locommon_position_t* looking
|
||
|
);
|
||
|
|
||
|
void
|
||
|
loworld_view_delete(
|
||
|
loworld_view_t* view /* OWNERSHIP */
|
||
|
);
|
||
|
|
||
|
void
|
||
|
loworld_view_update(
|
||
|
loworld_view_t* view
|
||
|
);
|
||
|
|
||
|
void
|
||
|
loworld_view_draw(
|
||
|
loworld_view_t* view
|
||
|
);
|
||
|
|
||
|
void
|
||
|
loworld_view_look(
|
||
|
loworld_view_t* view,
|
||
|
const locommon_position_t* pos
|
||
|
);
|
||
|
|
||
|
/* Flushes all chunks safely including currently staged ones. */
|
||
|
void
|
||
|
loworld_view_flush_store(
|
||
|
loworld_view_t* view
|
||
|
);
|
||
|
|
||
|
const loworld_chunk_t* /* ALIVES UNTIL NEXT OPERATION */
|
||
|
loworld_view_get_looking_chunk(
|
||
|
const loworld_view_t* view
|
||
|
);
|