Update crate colour when toggling metal
parent
cf8e2ca1be
commit
e26f972600
|
@ -726,6 +726,58 @@ static void level_do_action(Scene_t* scene, ActionType_t action, bool pressed)
|
||||||
break;
|
break;
|
||||||
case ACTION_METAL_TOGGLE:
|
case ACTION_METAL_TOGGLE:
|
||||||
if (!pressed) metal_toggle = !metal_toggle;
|
if (!pressed) metal_toggle = !metal_toggle;
|
||||||
|
const Color crate_colour = metal_toggle ? GRAY : BROWN;
|
||||||
|
Vector2 draw_pos = {SPAWN_CRATE * SELECTION_TILE_SIZE , 0};
|
||||||
|
BeginTextureMode(selection_section);
|
||||||
|
for (uint8_t i = SPAWN_CRATE; i <= SPAWN_CRATE_BOMB; ++i)
|
||||||
|
{
|
||||||
|
DrawRectangle(draw_pos.x, draw_pos.y, SELECTION_TILE_SIZE, SELECTION_TILE_SIZE, crate_colour);
|
||||||
|
Vector2 half_size = {SELECTION_TILE_HALFSIZE, SELECTION_TILE_HALFSIZE};
|
||||||
|
switch (i)
|
||||||
|
{
|
||||||
|
case SPAWN_CRATE_ARROW_L:
|
||||||
|
DrawLine(
|
||||||
|
draw_pos.x,
|
||||||
|
draw_pos.y + half_size.y,
|
||||||
|
draw_pos.x + half_size.x,
|
||||||
|
draw_pos.y + half_size.y,
|
||||||
|
BLACK
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
case SPAWN_CRATE_ARROW_R:
|
||||||
|
DrawLine(
|
||||||
|
draw_pos.x + half_size.x,
|
||||||
|
draw_pos.y + half_size.y,
|
||||||
|
draw_pos.x + half_size.x * 2,
|
||||||
|
draw_pos.y + half_size.y,
|
||||||
|
BLACK
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
case SPAWN_CRATE_ARROW_U:
|
||||||
|
DrawLine(
|
||||||
|
draw_pos.x + half_size.x,
|
||||||
|
draw_pos.y,
|
||||||
|
draw_pos.x + half_size.x,
|
||||||
|
draw_pos.y + half_size.y,
|
||||||
|
BLACK
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
case SPAWN_CRATE_ARROW_D:
|
||||||
|
DrawLine(
|
||||||
|
draw_pos.x + half_size.x,
|
||||||
|
draw_pos.y + half_size.y,
|
||||||
|
draw_pos.x + half_size.x,
|
||||||
|
draw_pos.y + half_size.y * 2,
|
||||||
|
BLACK
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
case SPAWN_CRATE_BOMB:
|
||||||
|
DrawCircleV(Vector2Add(draw_pos, half_size), half_size.x, BLACK);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
draw_pos.x += SELECTION_TILE_SIZE;
|
||||||
|
}
|
||||||
|
EndTextureMode();
|
||||||
break;
|
break;
|
||||||
case ACTION_CRATE_ACTIVATION:
|
case ACTION_CRATE_ACTIVATION:
|
||||||
if (!pressed) crate_activation = !crate_activation;
|
if (!pressed) crate_activation = !crate_activation;
|
||||||
|
@ -773,63 +825,61 @@ void init_sandbox_scene(LevelScene_t* scene)
|
||||||
};
|
};
|
||||||
for (uint8_t i = 0; i < MAX_SPAWN_TYPE; ++i)
|
for (uint8_t i = 0; i < MAX_SPAWN_TYPE; ++i)
|
||||||
{
|
{
|
||||||
|
DrawRectangle(draw_pos.x, draw_pos.y, SELECTION_TILE_SIZE, SELECTION_TILE_SIZE, draw_colour[i]);
|
||||||
|
Vector2 half_size = {SELECTION_TILE_HALFSIZE, SELECTION_TILE_HALFSIZE};
|
||||||
|
switch (i)
|
||||||
{
|
{
|
||||||
DrawRectangle(draw_pos.x, draw_pos.y, SELECTION_TILE_SIZE, SELECTION_TILE_SIZE, draw_colour[i]);
|
case TOGGLE_SPIKE:
|
||||||
Vector2 half_size = {SELECTION_TILE_HALFSIZE, SELECTION_TILE_HALFSIZE};
|
DrawRectangle(draw_pos.x, draw_pos.y + SELECTION_TILE_HALFSIZE, SELECTION_TILE_SIZE, SELECTION_TILE_HALFSIZE, RED);
|
||||||
switch (i)
|
break;
|
||||||
{
|
case SPAWN_BOULDER:
|
||||||
case TOGGLE_SPIKE:
|
DrawCircleV(Vector2Add(draw_pos, half_size), half_size.x, GRAY);
|
||||||
DrawRectangle(draw_pos.x, draw_pos.y + SELECTION_TILE_HALFSIZE, SELECTION_TILE_SIZE, SELECTION_TILE_HALFSIZE, RED);
|
break;
|
||||||
break;
|
case SPAWN_CRATE_ARROW_L:
|
||||||
case SPAWN_BOULDER:
|
DrawLine(
|
||||||
DrawCircleV(Vector2Add(draw_pos, half_size), half_size.x, GRAY);
|
draw_pos.x,
|
||||||
break;
|
draw_pos.y + half_size.y,
|
||||||
case SPAWN_CRATE_ARROW_L:
|
draw_pos.x + half_size.x,
|
||||||
DrawLine(
|
draw_pos.y + half_size.y,
|
||||||
draw_pos.x,
|
BLACK
|
||||||
draw_pos.y + half_size.y,
|
);
|
||||||
draw_pos.x + half_size.x,
|
break;
|
||||||
draw_pos.y + half_size.y,
|
case SPAWN_CRATE_ARROW_R:
|
||||||
BLACK
|
DrawLine(
|
||||||
);
|
draw_pos.x + half_size.x,
|
||||||
break;
|
draw_pos.y + half_size.y,
|
||||||
case SPAWN_CRATE_ARROW_R:
|
draw_pos.x + half_size.x * 2,
|
||||||
DrawLine(
|
draw_pos.y + half_size.y,
|
||||||
draw_pos.x + half_size.x,
|
BLACK
|
||||||
draw_pos.y + half_size.y,
|
);
|
||||||
draw_pos.x + half_size.x * 2,
|
break;
|
||||||
draw_pos.y + half_size.y,
|
case SPAWN_CRATE_ARROW_U:
|
||||||
BLACK
|
DrawLine(
|
||||||
);
|
draw_pos.x + half_size.x,
|
||||||
break;
|
draw_pos.y,
|
||||||
case SPAWN_CRATE_ARROW_U:
|
draw_pos.x + half_size.x,
|
||||||
DrawLine(
|
draw_pos.y + half_size.y,
|
||||||
draw_pos.x + half_size.x,
|
BLACK
|
||||||
draw_pos.y,
|
);
|
||||||
draw_pos.x + half_size.x,
|
break;
|
||||||
draw_pos.y + half_size.y,
|
case SPAWN_CRATE_ARROW_D:
|
||||||
BLACK
|
DrawLine(
|
||||||
);
|
draw_pos.x + half_size.x,
|
||||||
break;
|
draw_pos.y + half_size.y,
|
||||||
case SPAWN_CRATE_ARROW_D:
|
draw_pos.x + half_size.x,
|
||||||
DrawLine(
|
draw_pos.y + half_size.y * 2,
|
||||||
draw_pos.x + half_size.x,
|
BLACK
|
||||||
draw_pos.y + half_size.y,
|
);
|
||||||
draw_pos.x + half_size.x,
|
break;
|
||||||
draw_pos.y + half_size.y * 2,
|
case SPAWN_CRATE_BOMB:
|
||||||
BLACK
|
DrawCircleV(Vector2Add(draw_pos, half_size), half_size.x, BLACK);
|
||||||
);
|
break;
|
||||||
break;
|
case SPAWN_WATER_RUNNER:
|
||||||
case SPAWN_CRATE_BOMB:
|
DrawCircleV(Vector2Add(draw_pos, half_size), half_size.x, ColorAlpha(BLUE, 0.2));
|
||||||
DrawCircleV(Vector2Add(draw_pos, half_size), half_size.x, BLACK);
|
break;
|
||||||
break;
|
case TOGGLE_AIR_POCKET:
|
||||||
case SPAWN_WATER_RUNNER:
|
DrawRectangleLinesEx((Rectangle){draw_pos.x, draw_pos.y, SELECTION_TILE_SIZE, SELECTION_TILE_SIZE}, 2.0, ColorAlpha(BLUE, 0.5));
|
||||||
DrawCircleV(Vector2Add(draw_pos, half_size), half_size.x, ColorAlpha(BLUE, 0.2));
|
break;
|
||||||
break;
|
|
||||||
case TOGGLE_AIR_POCKET:
|
|
||||||
DrawRectangleLinesEx((Rectangle){draw_pos.x, draw_pos.y, SELECTION_TILE_SIZE, SELECTION_TILE_SIZE}, 2.0, ColorAlpha(BLUE, 0.5));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
draw_pos.x += SELECTION_TILE_SIZE;
|
draw_pos.x += SELECTION_TILE_SIZE;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue