diff options
Diffstat (limited to 'Building.c')
| -rw-r--r-- | Building.c | 33 |
1 files changed, 31 insertions, 2 deletions
@@ -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); + } } |
