mirror of
https://github.com/AquariaOSE/Aquaria.git
synced 2025-06-08 01:22:02 +00:00
commit
fe0a91129f
2 changed files with 21 additions and 13 deletions
|
@ -212,6 +212,11 @@ bool FoodHolder::isEmpty()
|
||||||
return (foodHolderIngredient == 0);
|
return (foodHolderIngredient == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool FoodHolder::isValid()
|
||||||
|
{
|
||||||
|
return this->alpha.x > 0 && this->alphaMod > 0;
|
||||||
|
}
|
||||||
|
|
||||||
IngredientData *FoodHolder::getIngredient()
|
IngredientData *FoodHolder::getIngredient()
|
||||||
{
|
{
|
||||||
return foodHolderIngredient;
|
return foodHolderIngredient;
|
||||||
|
@ -264,6 +269,10 @@ void FoodHolder::setIngredient(IngredientData *i, bool effects)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FoodHolder::toggleValid(bool v) {
|
||||||
|
this->alpha = this->alphaMod = (float) v;
|
||||||
|
}
|
||||||
|
|
||||||
void Game::enqueuePreviewRecipe()
|
void Game::enqueuePreviewRecipe()
|
||||||
{
|
{
|
||||||
enqueuedPreviewRecipe = 1;
|
enqueuedPreviewRecipe = 1;
|
||||||
|
@ -477,7 +486,7 @@ void FoodSlot::moveRight()
|
||||||
|
|
||||||
for (int i = foodHolders.size()-1; i >= 0; i--)
|
for (int i = foodHolders.size()-1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
if (foodHolders[i]->alpha.x > 0 && foodHolders[i]->alphaMod > 0 && foodHolders[i]->isEmpty() && !foodHolders[i]->isTrash())
|
if (foodHolders[i]->isValid() && foodHolders[i]->isEmpty() && !foodHolders[i]->isTrash())
|
||||||
{
|
{
|
||||||
foodHolders[i]->setIngredient(ingredient);
|
foodHolders[i]->setIngredient(ingredient);
|
||||||
inCookSlot = true;
|
inCookSlot = true;
|
||||||
|
@ -564,7 +573,7 @@ void FoodSlot::onUpdate(float dt)
|
||||||
break;
|
break;
|
||||||
//return;
|
//return;
|
||||||
}
|
}
|
||||||
else if (foodHolders[i]->isEmpty())
|
else if (foodHolders[i]->isEmpty() && foodHolders[i]->isValid())
|
||||||
{
|
{
|
||||||
foodHolders[i]->setIngredient(ingredient);
|
foodHolders[i]->setIngredient(ingredient);
|
||||||
inCookSlot = true;
|
inCookSlot = true;
|
||||||
|
@ -3745,7 +3754,7 @@ void Game::createInGameMenu()
|
||||||
for (i = 0; i < foodHolders.size(); i++)
|
for (i = 0; i < foodHolders.size(); i++)
|
||||||
{
|
{
|
||||||
foodHolders[i] = new FoodHolder(i);
|
foodHolders[i] = new FoodHolder(i);
|
||||||
foodHolders[i]->alpha = 0;
|
foodHolders[i]->toggleValid(false);
|
||||||
|
|
||||||
float angle = (float(holders)/float(foodHolders.size()))*PI*2;
|
float angle = (float(holders)/float(foodHolders.size()))*PI*2;
|
||||||
foodHolders[i]->position = rightCenter + Vector(sinf(angle), cosf(angle))*radius;
|
foodHolders[i]->position = rightCenter + Vector(sinf(angle), cosf(angle))*radius;
|
||||||
|
@ -3832,7 +3841,7 @@ void Game::createInGameMenu()
|
||||||
|
|
||||||
foodHolders.resize(4);
|
foodHolders.resize(4);
|
||||||
foodHolders[3] = new FoodHolder(-1, true);
|
foodHolders[3] = new FoodHolder(-1, true);
|
||||||
foodHolders[3]->alpha = 0;
|
foodHolders[3]->toggleValid(false);
|
||||||
foodHolders[3]->position = rightCenter + Vector(96, 150);
|
foodHolders[3]->position = rightCenter + Vector(96, 150);
|
||||||
menuBg->addChild(foodHolders[3], PM_POINTER);
|
menuBg->addChild(foodHolders[3], PM_POINTER);
|
||||||
|
|
||||||
|
@ -6078,7 +6087,7 @@ void Game::action(int id, int state)
|
||||||
int trashIndex = -1;
|
int trashIndex = -1;
|
||||||
for (int i = 0; i < foodHolders.size(); i++)
|
for (int i = 0; i < foodHolders.size(); i++)
|
||||||
{
|
{
|
||||||
if (foodHolders[i]->alpha.x > 0 && foodHolders[i]->alphaMod > 0 && foodHolders[i]->isTrash())
|
if (foodHolders[i]->isValid() && foodHolders[i]->isTrash())
|
||||||
{
|
{
|
||||||
trashIndex = i;
|
trashIndex = i;
|
||||||
break;
|
break;
|
||||||
|
@ -7393,7 +7402,7 @@ void Game::onCook()
|
||||||
longAnim = false;
|
longAnim = false;
|
||||||
|
|
||||||
for (int i = foodHolders.size()-1; i >= 0; i--)
|
for (int i = foodHolders.size()-1; i >= 0; i--)
|
||||||
if (foodHolders[i]->alpha.x > 0 && !foodHolders[i]->isEmpty() && !foodHolders[i]->isTrash())
|
if (foodHolders[i]->isValid() && !foodHolders[i]->isEmpty() && !foodHolders[i]->isTrash())
|
||||||
foodHolders[i]->animateLid(true, longAnim);
|
foodHolders[i]->animateLid(true, longAnim);
|
||||||
|
|
||||||
//dsq->main(0.2);
|
//dsq->main(0.2);
|
||||||
|
@ -7481,7 +7490,7 @@ void Game::onCook()
|
||||||
dsq->sound->playSfx("Cook");
|
dsq->sound->playSfx("Cook");
|
||||||
|
|
||||||
for (int i = 0; i < foodHolders.size(); i++)
|
for (int i = 0; i < foodHolders.size(); i++)
|
||||||
if (foodHolders[i]->alpha.x > 0 && !foodHolders[i]->isTrash())
|
if (foodHolders[i]->isValid() && !foodHolders[i]->isTrash())
|
||||||
foodHolders[i]->animateLid(false);
|
foodHolders[i]->animateLid(false);
|
||||||
|
|
||||||
dsq->spawnParticleEffect("cook-food", Vector(575,250), 0, 0, LR_HUD3, 1);
|
dsq->spawnParticleEffect("cook-food", Vector(575,250), 0, 0, LR_HUD3, 1);
|
||||||
|
@ -9065,10 +9074,7 @@ void Game::toggleFoodMenu(bool f)
|
||||||
|
|
||||||
for (int i = 0; i < foodHolders.size(); i++)
|
for (int i = 0; i < foodHolders.size(); i++)
|
||||||
{
|
{
|
||||||
if (f)
|
foodHolders[i]->toggleValid(f);
|
||||||
foodHolders[i]->alpha = 1;
|
|
||||||
else
|
|
||||||
foodHolders[i]->alpha = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (f)
|
if (f)
|
||||||
|
@ -9081,11 +9087,11 @@ void Game::toggleFoodMenu(bool f)
|
||||||
&& p->isCoordinateInside(dsq->game->avatar->position)))
|
&& p->isCoordinateInside(dsq->game->avatar->position)))
|
||||||
{
|
{
|
||||||
//cook->alpha = 1;
|
//cook->alpha = 1;
|
||||||
foodHolders[0]->alpha = 1;
|
foodHolders[0]->toggleValid(true);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
foodHolders[0]->alpha = 0;
|
foodHolders[0]->toggleValid(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -283,7 +283,9 @@ public:
|
||||||
|
|
||||||
bool isEmpty();
|
bool isEmpty();
|
||||||
bool isTrash();
|
bool isTrash();
|
||||||
|
bool isValid();
|
||||||
void setIngredient(IngredientData *i, bool effects=true);
|
void setIngredient(IngredientData *i, bool effects=true);
|
||||||
|
void toggleValid(bool v);
|
||||||
void dropFood();
|
void dropFood();
|
||||||
IngredientData *getIngredient();
|
IngredientData *getIngredient();
|
||||||
void animateLid(bool down, bool longAnim=true);
|
void animateLid(bool down, bool longAnim=true);
|
||||||
|
|
Loading…
Add table
Reference in a new issue