5#include <unordered_map>
12#include "../../external/rlights.h"
36 void setDevMode(
bool dev,
int port,
const std::string& machine)
override;
41 static constexpr std::string_view
EGG_MODEL_PATH =
"gui/assets/models/egg.glb";
42 static constexpr std::string_view
FOOD_MODEL_PATH =
"gui/assets/models/apple.glb";
44 static constexpr std::string_view
FONT_PATH =
"gui/assets/fonts/JetBrainsMono-Bold.ttf";
Owns all camera logic: orbital, freecam, follow, and smooth transitions.
Widget displaying players and allowing selection.
Abstract base class for renderers. Provides common default implementations so concrete renderers only...
Widget displaying players and allowing selection.
A renderer that uses Raylib to display the game state graphically.
SelectionFinder::Selection _selection
int _getScaledFontSize(int baseFontSize) const
EntityTooltipWidget _entityTooltip
static constexpr std::string_view FOOD_MODEL_PATH
void _updateSelection(float deltaTime)
std::unordered_map< std::string, Color > _teamColors
Color _playerModelBaseMats[6]
std::unique_ptr< IBackground > _background
std::optional< int > _pendingSpeed
void _drawSelectionHighlight()
static constexpr float EGG_MODEL_SIZE
static constexpr std::string_view CRYSTAL_MODEL_PATH
Color _eggModelBaseMats[2]
std::vector< std::vector< const Player * > > _groupPlayersByVisualProximity() const
static constexpr std::string_view FONT_PATH
Vector3 _groupLabelAnchor(const std::vector< const Player * > &group) const
static constexpr float CRYSTAL_MODEL_SIZE
static constexpr float RESOURCE_SPHERE_BASE_SIZE
static constexpr std::string_view PLAYER_MODEL_PATH
static constexpr float PLAYER_MODEL_SIZE
std::optional< int > getPendingSpeedChange() override
bool shouldClose() override
void _drawSelectionArrow(Vector3 basePos, float modelTopY) const
static constexpr Color SELECTION_COLOR
Color _getTeamColor(const std::string &teamName)
void handleInput() override
WindowSnapshot _savedWindow
static constexpr float FOOD_MODEL_SIZE
void _drawBehaviorParticles(const VisualState &visual)
static constexpr std::string_view EGG_MODEL_PATH
static constexpr float TILE_SIZE
void setDevMode(bool dev, int port, const std::string &machine) override
static constexpr float SELECTION_LINE_THICKNESS
static constexpr float SELECTION_WIREFRAME_THICKNESS
~RaylibRenderer() override=default
Self-contained speed slider widget.
Manages 8-slot spatial assignment per tile for resources and eggs.
Visual-only state for an entity, driven by behaviors each frame. Logical state (x,...
Semi-transparent overlay shown when a team wins.