From 923859ed85aed1ac2f90d5ae3a8a6bb22d2dba6d Mon Sep 17 00:00:00 2001 From: Jonathan Hager Date: Sun, 22 Jan 2023 22:27:33 +0100 Subject: [PATCH] =?UTF-8?q?Net=20viel=20ge=C3=A4ndert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Input/inputHandler.c | 8 ++++---- Ui/selectable.c | 12 ++++++++++++ definitions.h | 4 ++++ 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/Input/inputHandler.c b/Input/inputHandler.c index 6f468a5..775c1e4 100644 --- a/Input/inputHandler.c +++ b/Input/inputHandler.c @@ -73,12 +73,12 @@ void mouseInput(Game *game){ if(IsKeyPressed(KEY_G)){ // Baustelle adden - /* - Sprite *new = SpriteCreate(game->textures, 3, inputHandler->cursorWorldPos.x, inputHandler->cursorWorldPos.y); - MapObject *newObject = MapObjectInit(new, MO_Baustelle); + + Sprite *new = SpriteCreate(game->textures, TE_BAUSTELLE, inputHandler->cursorWorldPos.x, inputHandler->cursorWorldPos.y); + MapObject *newObject = MapObjectInit(new, MO_BAUSTELLE); SpriteListInsert(game->sprites, new); MapObjectListInsert(game->mapObjects, newObject); - */ + } // hardcoded layer amount diff --git a/Ui/selectable.c b/Ui/selectable.c index b584315..7d2d2e8 100644 --- a/Ui/selectable.c +++ b/Ui/selectable.c @@ -2,6 +2,10 @@ #include #include #include +#include "../definitions.h" +#include "../MapObject/mapobject.h" +#include "../Sprite/sprite.h" +#include "../Input/inputHandler.h" Selectable * SelectableInit(Texture2D textures[3], Texture2D backgroundTextures[3], int hasBackground, Vector2 *position, char *description, int showDescripton, int descriptionLEN, int fontSize, int id, int groupID){ @@ -39,6 +43,14 @@ void SelectableExecuteSelectable(Selectable *selectable, Game * game){ // Hier sollte eine Bedingung stehen die nur in einem Frame true sein kann // Oder das selectable wird abgewählt indem seine ID auf default zurückgesetzt wird // Sonst kann das hier jeden Frame passieren. ID wird nicht automatisch zurückgesetzt + if(IsMouseButtonDown(MOUSE_BUTTON_LEFT)){ + Sprite *new = SpriteCreate(game->textures, TE_BAUSTELLE, game->inputHandler->cursorWorldPos.x, game->inputHandler->cursorWorldPos.y); + MapObject *newObject = MapObjectInit(new, MO_BAUSTELLE); + SpriteListInsert(game->sprites, new); + MapObjectListInsert(game->mapObjects, newObject); + + selectable->state = SELECTABLE_STATE_DEFAULT; + } break; default: printf("\n\n\n\n\n\n WARNING: Unsupported SELECTABLE ID %d \n\n\n\n\n\n", selectable->id); diff --git a/definitions.h b/definitions.h index b6f4bc4..99c02b7 100644 --- a/definitions.h +++ b/definitions.h @@ -31,6 +31,10 @@ #define AN_ENTITY_ARBEITEN 1 #define AN_ENTITY_DIE 2 +// Definitions for mapobjects +#define MO_BAUSTELLE 0 +#define MO_BUILDING 1 + #endif