Support for colliders
This commit is contained in:
29
game/main.c
29
game/main.c
@@ -47,6 +47,10 @@ void deinit(Game *game) {
|
||||
bzTilesetDestroy(&game->buildingsTileset);
|
||||
bzTileMapDestroy(&game->map);
|
||||
}
|
||||
|
||||
int sizeX = 1;
|
||||
int sizeY = 1;
|
||||
|
||||
void render(float dt, Game *game) {
|
||||
Camera2D *camera = &game->camera;
|
||||
if (IsKeyDown(KEY_W)) camera->target.y -= 20;
|
||||
@@ -64,15 +68,34 @@ void render(float dt, Game *game) {
|
||||
|
||||
bzTileMapDraw(&game->map);
|
||||
|
||||
Vector2 worldPos = GetScreenToWorld2D(GetMousePosition(), game->camera);
|
||||
int tileX = (int) worldPos.x / 16;
|
||||
int tileY = (int) worldPos.y / 16;
|
||||
|
||||
if (tileX != 0 && tileY != 0) {
|
||||
|
||||
bool canPlace = bzTileMapCanPlace(&game->map, tileX, tileY, sizeX, sizeY);
|
||||
Color placeColor = canPlace ?
|
||||
(Color) {0, 255, 0, 200} :
|
||||
(Color) {255, 0, 0, 200};
|
||||
|
||||
DrawRectangleLines(tileX * 16, tileY * 16, sizeX * 16, sizeY * 16, placeColor);
|
||||
}
|
||||
|
||||
EndMode2D();
|
||||
|
||||
if (nk_begin(NK, "Show", nk_rect(50, 50, 220, 220),
|
||||
NK_WINDOW_BORDER|NK_WINDOW_MOVABLE|NK_WINDOW_CLOSABLE)) {
|
||||
// fixed widget pixel width
|
||||
nk_layout_row_static(NK, 30, 80, 1);
|
||||
if (nk_button_label(NK, "button")) {
|
||||
// event handling
|
||||
}
|
||||
nk_labelf(NK, NK_TEXT_LEFT, "tileX: %d", tileX);
|
||||
nk_labelf(NK, NK_TEXT_LEFT, "tileY: %d", tileY);
|
||||
|
||||
nk_labelf(NK, NK_TEXT_LEFT, "x: %d", sizeX);
|
||||
nk_labelf(NK, NK_TEXT_LEFT, "y: %d", sizeY);
|
||||
nk_slider_int(NK, 0, &sizeX, 10, 1);
|
||||
nk_slider_int(NK, 0, &sizeY, 10, 1);
|
||||
|
||||
}
|
||||
nk_end(NK);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user