forked from jaildesigner-jailgames/jaildoctors_dilemma
Ya cambia el color de los enemigos al cambiar la paleta
This commit is contained in:
@@ -18,7 +18,9 @@ Enemy::Enemy(enemy_t enemy)
|
|||||||
x2 = enemy.x2;
|
x2 = enemy.x2;
|
||||||
y1 = enemy.y1;
|
y1 = enemy.y1;
|
||||||
y2 = enemy.y2;
|
y2 = enemy.y2;
|
||||||
color = enemy.color;
|
palette = enemy.palette;
|
||||||
|
colorString = enemy.color;
|
||||||
|
color = stringToColor(palette, colorString);
|
||||||
sprite->setPosX(enemy.x);
|
sprite->setPosX(enemy.x);
|
||||||
sprite->setPosY(enemy.y);
|
sprite->setPosY(enemy.y);
|
||||||
sprite->setVelX(enemy.vx);
|
sprite->setVelX(enemy.vx);
|
||||||
@@ -102,3 +104,10 @@ void Enemy::reLoadTexture()
|
|||||||
{
|
{
|
||||||
texture->reLoad();
|
texture->reLoad();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Asigna la paleta
|
||||||
|
void Enemy::setPalette(palette_e pal)
|
||||||
|
{
|
||||||
|
palette = pal;
|
||||||
|
color = stringToColor(palette, colorString);
|
||||||
|
}
|
||||||
@@ -26,7 +26,8 @@ struct enemy_t
|
|||||||
int y1; // Limite superior de la ruta en el eje Y
|
int y1; // Limite superior de la ruta en el eje Y
|
||||||
int y2; // Limite inferior de la ruta en el eje Y
|
int y2; // Limite inferior de la ruta en el eje Y
|
||||||
bool flip; // Indica si el enemigo hace flip al terminar su ruta
|
bool flip; // Indica si el enemigo hace flip al terminar su ruta
|
||||||
color_t color; // Color del enemigo
|
std::string color; // Color del enemigo
|
||||||
|
palette_e palette; // Paleta de colores
|
||||||
};
|
};
|
||||||
|
|
||||||
class Enemy
|
class Enemy
|
||||||
@@ -40,6 +41,8 @@ private:
|
|||||||
|
|
||||||
// Variables
|
// Variables
|
||||||
color_t color; // Color del enemigo
|
color_t color; // Color del enemigo
|
||||||
|
std::string colorString; // Color del enemigo en formato texto
|
||||||
|
palette_e palette; // Paleta de colores
|
||||||
int x1; // Limite izquierdo de la ruta en el eje X
|
int x1; // Limite izquierdo de la ruta en el eje X
|
||||||
int x2; // Limite derecho de la ruta en el eje X
|
int x2; // Limite derecho de la ruta en el eje X
|
||||||
int y1; // Limite superior de la ruta en el eje Y
|
int y1; // Limite superior de la ruta en el eje Y
|
||||||
@@ -71,6 +74,9 @@ public:
|
|||||||
|
|
||||||
// Recarga la textura
|
// Recarga la textura
|
||||||
void reLoadTexture();
|
void reLoadTexture();
|
||||||
|
|
||||||
|
// Asigna la paleta
|
||||||
|
void setPalette(palette_e pal);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -105,6 +105,7 @@ bool Room::loadMapFile(std::string file_path)
|
|||||||
enemy.asset = asset;
|
enemy.asset = asset;
|
||||||
enemy.renderer = renderer;
|
enemy.renderer = renderer;
|
||||||
enemy.flip = false;
|
enemy.flip = false;
|
||||||
|
enemy.palette = options->palette;
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
@@ -397,7 +398,7 @@ bool Room::setEnemy(enemy_t *enemy, std::string var, std::string value)
|
|||||||
|
|
||||||
else if (var == "color")
|
else if (var == "color")
|
||||||
{
|
{
|
||||||
enemy->color = stringToColor(options->palette, value);
|
enemy->color = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (var == "[/enemy]")
|
else if (var == "[/enemy]")
|
||||||
@@ -800,6 +801,12 @@ void Room::reLoadPalette()
|
|||||||
item->setColors(stringToColor(options->palette, itemColor1), stringToColor(options->palette, itemColor2));
|
item->setColors(stringToColor(options->palette, itemColor1), stringToColor(options->palette, itemColor2));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Cambia el color de los enemigos
|
||||||
|
for (auto enemy:enemies)
|
||||||
|
{
|
||||||
|
enemy->setPalette(options->palette);
|
||||||
|
}
|
||||||
|
|
||||||
// Establece el color del borde
|
// Establece el color del borde
|
||||||
screen->setBorderColor(stringToColor(options->palette, borderColor));
|
screen->setBorderColor(stringToColor(options->palette, borderColor));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user