You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
1.7 KiB

#ifndef SELECTABLE_H_
#define SELECTABLE_H_
#include "raylib.h"
#include "../game.h"
typedef struct Selectable Selctable;
#define SELECTABLE_STATE_DEFAULT 0
#define SELECTABLE_STATE_HOVERED 1
#define SELECTABLE_STATE_SELECTED 2
#define SELECTABLE_ID_TEST 0
typedef struct Selectable{
Vector2 position; // Linke obere Ecke
Vector2 centerPosition; // Die Mitte des Selectables
Texture2D texture[3];// [0]: Normal | [1]: Hovered | [2]: Selected
Texture2D backgroundTexture[3]; // [0]: Normal | [1]: Hovered | [2]: Selected
int hasBackground; // 0: hat keine Background Textur | 1: hat Background Textur
char description[20]; //Text der unter dem selectable angezeigt werden kann
int showDescription; //0: zeigt Description nicht | 1: zeigt Description
int id; // Durch die ID wird dem Selectable eine Funktion zugeordnet
int state; // 0: not selected | 1: hovered | 2: selected
int fontSize; // FontSize kann für jede Selectable Description individuell festgelegt werden
}Selectable;
// Textures+backgroundTextures: [0]: Normal | [1]: Hovered | [2]: Selected
// hasBackground: 0: hat keine Background Textur | 1: hat Background Textur
// showDescription 0: zeigt Description nicht | 1: zeigt Description
// Max Description LEN 20
Selectable * SelectableInit(Texture2D textures[3], Texture2D backgroundTextures[3], int hasBackground, Vector2 *position, char *description, int showDescripton, int descriptionLEN, int fontSize, int id);
void SelectableExecuteSelectable(Selectable *selectable, Game * game);
int SelectableUpdateSelectableState(Selectable * selectable);
int SelectableUnselectSelectable(Selectable * selectable);
void SelectableDrawSelectable(Selectable * selectable);
#endif