#include "../common/GameState.h"
#include "../graphics/Font.h"
#include "../graphics/Frame.h"
+#include "../math/Vector.h"
using app::Input;
using common::Capsule;
using common::Inventory;
using common::Item;
-using geometry::Vector;
+using math::Vector;
using graphics::Font;
using graphics::Frame;
void CapsuleFeedMenu::OnEnterState(SDL_Surface *) {
menu.SetSelected();
+ menu.StartAnimation(Ctrl());
itemMenu.SetActive();
+ itemMenu.StartAnimation(Ctrl());
}
void CapsuleFeedMenu::LoadInventory() {
void CapsuleFeedMenu::FeedSelected() {
if (itemMenu.Selected()) {
// TODO: feed and grow animations
- GetCapsule().Feed(itemMenu.Selected());
- parent->Game().state->inventory.Remove(itemMenu.Selected(), 1);
- LoadInventory();
+ if (GetCapsule().IsHungry()) {
+ GetCapsule().Feed(itemMenu.Selected());
+ parent->Game().state->inventory.Remove(itemMenu.Selected(), 1);
+ LoadInventory();
+ } else if (itemMenu.Selected() == GetCapsule().UpgradeItem()) {
+ GetCapsule().UpgradeSpecial();
+ parent->Game().state->inventory.Remove(itemMenu.Selected(), 1);
+ LoadInventory();
+ } else {
+ // error beep
+ }
} else {
- // beep
+ // also beep
}
}
-void CapsuleFeedMenu::UpdateWorld(float deltaT) {
+void CapsuleFeedMenu::UpdateWorld(Uint32 deltaT) {
}