summaryrefslogtreecommitdiff
path: root/Building.c
diff options
context:
space:
mode:
Diffstat (limited to 'Building.c')
-rw-r--r--Building.c33
1 files changed, 31 insertions, 2 deletions
diff --git a/Building.c b/Building.c
index 34be606..368f791 100644
--- a/Building.c
+++ b/Building.c
@@ -45,7 +45,19 @@ uint8_t BuildingGetHpFromID(uint8_t id)
return BuildingHPTable[id];
}
-void BuildingDraw(TYPE_CAMERA * ptrCamera, TYPE_BUILDING * ptrBuilding)
+void BuildingSelectedOptions(TYPE_BUILDING * ptrBuilding)
+{
+ char str[8];
+
+ GfxDrawRectangle(0, Y_SCREEN_RESOLUTION - 8, X_SCREEN_RESOLUTION, 8, GFX_WHITE);
+
+ snprintf(str, 8, "HP=%d", ptrBuilding->hp);
+
+ GfxPrintTextFont(str, font3x3, 4, Y_SCREEN_RESOLUTION - 4);
+
+}
+
+void BuildingDraw(TYPE_CAMERA * ptrCamera, TYPE_BUILDING * ptrBuilding, bool bSelected)
{
uint8_t id = ptrBuilding->id;
@@ -65,7 +77,24 @@ void BuildingDraw(TYPE_CAMERA * ptrCamera, TYPE_BUILDING * ptrBuilding)
ptrBuilding->x,
ptrBuilding->y );
- GfxDrawSprite(&BarracksSpr);
+ GfxDrawSprite(BuildingSprTable[id]);
+
+ if( (bSelected == true) && (ptrBuilding->selected == false) )
+ {
+ TYPE_COLLISION_BLOCK cb;
+
+ cb = CameraApplyCoordinatesToCoordinates(ptrCamera, ptrBuilding->x, ptrBuilding->y);
+
+ GfxDrawCircle(cb.x + 3, cb.y + 3, BuildingGetWidthFromID(ptrBuilding->id) >> 2, GFX_GRAY);
+ }
+ else if(ptrBuilding->selected == true)
+ {
+ TYPE_COLLISION_BLOCK cb;
+
+ cb = CameraApplyCoordinatesToCoordinates(ptrCamera, ptrBuilding->x, ptrBuilding->y);
+
+ GfxDrawCircle(cb.x + 3, cb.y + 3, BuildingGetWidthFromID(ptrBuilding->id) >> 2, GFX_BLACK);
+ }
}