Handles visualization of all overworld entities (entrances, exits, items, sprites) More...
#include <overworld_entity_renderer.h>
Public Member Functions | |
OverworldEntityRenderer (zelda3::Overworld *overworld, gui::Canvas *canvas, std::vector< gfx::Bitmap > *sprite_previews) | |
void | DrawEntrances (ImVec2 canvas_p0, ImVec2 scrolling, int current_world, int current_mode) |
void | DrawExits (ImVec2 canvas_p0, ImVec2 scrolling, int current_world, int current_mode) |
void | DrawItems (int current_world, int current_mode) |
void | DrawSprites (int current_world, int game_state, int current_mode) |
auto | hovered_entity () const |
Private Attributes | |
zelda3::GameEntity * | hovered_entity_ = nullptr |
zelda3::Overworld * | overworld_ |
gui::Canvas * | canvas_ |
std::vector< gfx::Bitmap > * | sprite_previews_ |
Handles visualization of all overworld entities (entrances, exits, items, sprites)
This class separates entity rendering logic from the main OverworldEditor, making it easier to maintain and test entity visualization independently.
Definition at line 24 of file overworld_entity_renderer.h.
|
inline |
Definition at line 26 of file overworld_entity_renderer.h.
void yaze::editor::OverworldEntityRenderer::DrawEntrances | ( | ImVec2 | canvas_p0, |
ImVec2 | scrolling, | ||
int | current_world, | ||
int | current_mode | ||
) |
Definition at line 24 of file overworld_entity_renderer.cc.
References canvas_, yaze::gui::Canvas::DrawRect(), yaze::gui::Canvas::DrawText(), yaze::zelda3::Overworld::entrances(), yaze::util::HexByte(), hovered_entity_, yaze::editor::IsMouseHoveringOverEntity(), and overworld_.
void yaze::editor::OverworldEntityRenderer::DrawExits | ( | ImVec2 | canvas_p0, |
ImVec2 | scrolling, | ||
int | current_world, | ||
int | current_mode | ||
) |
Definition at line 56 of file overworld_entity_renderer.cc.
References canvas_, yaze::gui::Canvas::DrawRect(), yaze::gui::Canvas::DrawText(), yaze::zelda3::GameEntity::entity_id_, yaze::util::HexByte(), hovered_entity_, yaze::editor::IsMouseHoveringOverEntity(), yaze::zelda3::Overworld::mutable_exits(), and overworld_.
void yaze::editor::OverworldEntityRenderer::DrawItems | ( | int | current_world, |
int | current_mode | ||
) |
Definition at line 80 of file overworld_entity_renderer.cc.
References canvas_, yaze::gui::Canvas::DrawRect(), yaze::gui::Canvas::DrawText(), hovered_entity_, yaze::editor::IsMouseHoveringOverEntity(), yaze::zelda3::kSecretItemNames, yaze::zelda3::Overworld::mutable_all_items(), overworld_, yaze::gui::Canvas::scrolling(), and yaze::gui::Canvas::zero_point().
void yaze::editor::OverworldEntityRenderer::DrawSprites | ( | int | current_world, |
int | game_state, | ||
int | current_mode | ||
) |
Definition at line 108 of file overworld_entity_renderer.cc.
References canvas_, yaze::gui::Canvas::DrawBitmap(), yaze::gui::Canvas::DrawRect(), yaze::gui::Canvas::DrawText(), yaze::core::FeatureFlags::get(), hovered_entity_, yaze::editor::IsMouseHoveringOverEntity(), yaze::core::FeatureFlags::Flags::Overworld::kDrawOverworldSprites, yaze::zelda3::Overworld::mutable_sprites(), yaze::core::FeatureFlags::Flags::overworld, overworld_, yaze::gui::Canvas::scrolling(), sprite_previews_, and yaze::gui::Canvas::zero_point().
|
inline |
Definition at line 39 of file overworld_entity_renderer.h.
References hovered_entity_.
|
private |
Definition at line 42 of file overworld_entity_renderer.h.
Referenced by DrawEntrances(), DrawExits(), DrawItems(), DrawSprites(), and hovered_entity().
|
private |
Definition at line 43 of file overworld_entity_renderer.h.
Referenced by DrawEntrances(), DrawExits(), DrawItems(), and DrawSprites().
|
private |
Definition at line 44 of file overworld_entity_renderer.h.
Referenced by DrawEntrances(), DrawExits(), DrawItems(), and DrawSprites().
|
private |
Definition at line 45 of file overworld_entity_renderer.h.
Referenced by DrawSprites().