mirror of
https://github.com/nacabaro/nacapet.git
synced 2026-01-27 16:05:32 +00:00
49 lines
1.4 KiB
C++
49 lines
1.4 KiB
C++
#include "menu.h"
|
|
#include "animations/animations.h"
|
|
#include "buttons/buttons.h"
|
|
#include "draw/draw.h"
|
|
#include "display/display.h"
|
|
|
|
void menu_feedingScreen(
|
|
TFT_eSprite &composite, TFT_eSprite &bg, TFT_eSprite &charaSprite,
|
|
struct SpriteData* uiSpriteData, struct SpriteData* charaSpriteData, uint8_t item
|
|
) {
|
|
static int currentAnimationFrame = 0;
|
|
|
|
uint64_t currentTime = esp_timer_get_time();
|
|
uint8_t pressedButtons = buttons_getPressedButtons();
|
|
switch (pressedButtons) {
|
|
case 8:
|
|
case 4:
|
|
screenKey = FOOD_SCREEN;
|
|
currentAnimationFrame = 0;
|
|
lastPressedButtonTime = currentTime;
|
|
submenuKey = -1;
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
|
|
if (currentTime - lastUpdateTime > ANIMATION_THRESHOLD_TIME_US) {
|
|
draw_drawBackground(composite, bg, 90, 90, 3);
|
|
|
|
tft_clearBuffer(charaSprite, TFT_TRANSPARENT);
|
|
animate_performEatingAnimation(composite, charaSprite, charaSpriteData);
|
|
|
|
tft_clearBuffer(charaSprite, TFT_TRANSPARENT);
|
|
draw_drawSprite(composite, charaSprite, 24, 120, uiSpriteData, item, 6);
|
|
|
|
lastUpdateTime = currentTime;
|
|
currentAnimationFrame++;
|
|
}
|
|
|
|
if (currentAnimationFrame > 6) {
|
|
screenKey = FOOD_SCREEN;
|
|
lastPressedButtonTime = currentTime;
|
|
currentAnimationFrame = 0;
|
|
submenuKey = -1;
|
|
}
|
|
|
|
tft_drawBuffer(composite);
|
|
} |