#ifndef BUTTONS_H_ #define BUTTONS_H_ #include "raylib.h" #include "../game.h" #define BUTTON_FONT_SIZE 36 #define BUTTON_STATE_DEFAULT 0 #define BUTTON_STATE_HOVERED 1 #define BUTTON_STATE_PRESSED 2 #define BUTTON_STATE_RELEASED 3 #define BUTTON_ID_CONTINUE 0 typedef struct Button{ Texture2D textures[4]; // [0]: Normal [1]: Hovered [2]: Pressed [3]: Released Vector2 position; Vector2 centerPosition; char text[20]; int state; // 0: default 1: hovered 2: pressed 3: released int id; } Button; Button * ButtonInitButton(Texture2D textures[4], Vector2 *position, char *text, int textLEN, int id); // executes the logic of one button of certain id - huge switch? void ButtonExecuteButton(Button *button, Game * game); int ButtonUpdateButtonState(Button * button); void ButtonDrawButton(Button * button); #endif