summaryrefslogtreecommitdiff
path: root/src/editor.c
blob: 65f6a326304b01fbedf7ba45fa7e5ed06813ebb3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include "editor.h"

#include "raylib.h"
#include "xd.h"

void SE_DrawEditor(Editor *editor, Camera2D *camera) {
  Vector2 mousePos = GetScreenToWorld2D(GetMousePosition(), *camera);
  float zoom = camera->zoom;

  XdLevel *level = editor->data->levels[editor->state.currentLevel];
  XdFloor *floor = level->floors[editor->state.currentLayer];

  for (int x = 0; x < floor->width; x++) {
    for (int y = 0; y < floor->height; y++) {
      float rx = x * zoom, ry = y * zoom;
      Color innerColor = RAYWHITE;
      Color borderColor = LIGHTGRAY;

      // recolor the tile if the cursor above the tile
      if ((rx < mousePos.x && mousePos.x < rx + zoom) &&
          (ry < mousePos.y && mousePos.y < ry + zoom)) {
        innerColor = SKYBLUE;
        borderColor = BLUE;
      }

      DrawRectangle(rx, ry, zoom, zoom, innerColor);
      DrawRectangleLines(rx, ry, zoom, zoom, borderColor);
    }
  }
}