1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 00:47:45 +00:00

Snake: Replace DeprecatedString with String

This commit is contained in:
Reza 2023-09-04 00:37:48 +03:30 committed by Andrew Kaster
parent d312fdc2d3
commit ffc0046d74
5 changed files with 18 additions and 16 deletions

View file

@ -68,13 +68,13 @@ ErrorOr<NonnullRefPtr<Game>> Game::try_create()
} }
auto color = Color::from_argb(Config::read_u32("Snake"sv, "Snake"sv, "BaseColor"sv, Color(Color::Green).value())); auto color = Color::from_argb(Config::read_u32("Snake"sv, "Snake"sv, "BaseColor"sv, Color(Color::Green).value()));
auto skin_name = Config::read_string("Snake"sv, "Snake"sv, "SnakeSkin"sv, "Classic"sv); auto skin_name = TRY(String::from_deprecated_string(Config::read_string("Snake"sv, "Snake"sv, "SnakeSkin"sv, "Classic"sv)));
auto skin = TRY(SnakeSkin::create(skin_name, color)); auto skin = TRY(SnakeSkin::create(skin_name, color));
return adopt_nonnull_ref_or_enomem(new (nothrow) Game(move(food_bitmaps), color, skin_name, move(skin))); return adopt_nonnull_ref_or_enomem(new (nothrow) Game(move(food_bitmaps), color, skin_name, move(skin)));
} }
Game::Game(Vector<NonnullRefPtr<Gfx::Bitmap>> food_bitmaps, Color snake_color, DeprecatedString snake_skin_name, NonnullOwnPtr<SnakeSkin> skin) Game::Game(Vector<NonnullRefPtr<Gfx::Bitmap>> food_bitmaps, Color snake_color, String snake_skin_name, NonnullOwnPtr<SnakeSkin> skin)
: m_food_bitmaps(move(food_bitmaps)) : m_food_bitmaps(move(food_bitmaps))
, m_snake_color(move(snake_color)) , m_snake_color(move(snake_color))
, m_snake_skin_name(move(snake_skin_name)) , m_snake_skin_name(move(snake_skin_name))
@ -328,7 +328,7 @@ Direction Game::direction_to_position(Snake::Coordinate const& from, Snake::Coor
void Game::config_string_did_change(StringView domain, StringView group, StringView key, StringView value) void Game::config_string_did_change(StringView domain, StringView group, StringView key, StringView value)
{ {
if (domain == "Snake"sv && group == "Snake"sv && key == "SnakeSkin"sv) { if (domain == "Snake"sv && group == "Snake"sv && key == "SnakeSkin"sv) {
set_skin_name(value); set_skin_name(String::from_utf8(value).release_value_but_fixme_should_propagate_errors());
return; return;
} }
} }
@ -349,7 +349,7 @@ void Game::set_skin_color(Gfx::Color color)
} }
} }
void Game::set_skin_name(DeprecatedString name) void Game::set_skin_name(String name)
{ {
if (m_snake_skin_name != name) { if (m_snake_skin_name != name) {
m_snake_skin_name = name; m_snake_skin_name = name;

View file

@ -11,6 +11,7 @@
#include "Geometry.h" #include "Geometry.h"
#include "Skins/SnakeSkin.h" #include "Skins/SnakeSkin.h"
#include <AK/CircularQueue.h> #include <AK/CircularQueue.h>
#include <AK/String.h>
#include <LibConfig/Listener.h> #include <LibConfig/Listener.h>
#include <LibGUI/Frame.h> #include <LibGUI/Frame.h>
@ -35,11 +36,11 @@ public:
void set_skin_color(Color); void set_skin_color(Color);
Gfx::Color get_skin_color() const { return m_snake_color; } Gfx::Color get_skin_color() const { return m_snake_color; }
void set_skin_name(DeprecatedString); void set_skin_name(String);
void set_skin(NonnullOwnPtr<SnakeSkin> skin); void set_skin(NonnullOwnPtr<SnakeSkin> skin);
private: private:
explicit Game(Vector<NonnullRefPtr<Gfx::Bitmap>> food_bitmaps, Color snake_color, DeprecatedString snake_skin_name, NonnullOwnPtr<SnakeSkin> skin); explicit Game(Vector<NonnullRefPtr<Gfx::Bitmap>> food_bitmaps, Color snake_color, String snake_skin_name, NonnullOwnPtr<SnakeSkin> skin);
virtual void paint_event(GUI::PaintEvent&) override; virtual void paint_event(GUI::PaintEvent&) override;
virtual void keydown_event(GUI::KeyEvent&) override; virtual void keydown_event(GUI::KeyEvent&) override;
@ -77,7 +78,7 @@ private:
Vector<NonnullRefPtr<Gfx::Bitmap>> m_food_bitmaps; Vector<NonnullRefPtr<Gfx::Bitmap>> m_food_bitmaps;
Color m_snake_color; Color m_snake_color;
DeprecatedString m_snake_skin_name; String m_snake_skin_name;
NonnullOwnPtr<SnakeSkin> m_snake_skin; NonnullOwnPtr<SnakeSkin> m_snake_skin;
}; };

View file

@ -61,10 +61,10 @@ ErrorOr<NonnullOwnPtr<ImageSkin>> ImageSkin::create(StringView skin_name)
} }
ImageSkin::ImageSkin(StringView skin_name, Vector<NonnullRefPtr<Gfx::Bitmap>> head_bitmaps, Vector<NonnullRefPtr<Gfx::Bitmap>> body_bitmaps) ImageSkin::ImageSkin(StringView skin_name, Vector<NonnullRefPtr<Gfx::Bitmap>> head_bitmaps, Vector<NonnullRefPtr<Gfx::Bitmap>> body_bitmaps)
: m_skin_name(skin_name) : m_head_bitmaps(move(head_bitmaps))
, m_head_bitmaps(move(head_bitmaps))
, m_body_bitmaps(move(body_bitmaps)) , m_body_bitmaps(move(body_bitmaps))
{ {
m_skin_name = String::from_utf8(skin_name).release_value_but_fixme_should_propagate_errors();
} }
static int image_index_from_directions(Direction from, Direction to) static int image_index_from_directions(Direction from, Direction to)

View file

@ -10,6 +10,7 @@
#include "SnakeSkin.h" #include "SnakeSkin.h"
#include <AK/NonnullRefPtr.h> #include <AK/NonnullRefPtr.h>
#include <AK/String.h>
#include <AK/Vector.h> #include <AK/Vector.h>
#include <LibGfx/Color.h> #include <LibGfx/Color.h>
#include <LibGfx/Point.h> #include <LibGfx/Point.h>
@ -29,7 +30,7 @@ public:
private: private:
ImageSkin(StringView skin_name, Vector<NonnullRefPtr<Gfx::Bitmap>> head_bitmaps, Vector<NonnullRefPtr<Gfx::Bitmap>> body_bitmaps); ImageSkin(StringView skin_name, Vector<NonnullRefPtr<Gfx::Bitmap>> head_bitmaps, Vector<NonnullRefPtr<Gfx::Bitmap>> body_bitmaps);
DeprecatedString m_skin_name; String m_skin_name;
Vector<NonnullRefPtr<Gfx::Bitmap>> m_head_bitmaps; Vector<NonnullRefPtr<Gfx::Bitmap>> m_head_bitmaps;
Vector<NonnullRefPtr<Gfx::Bitmap>> m_body_bitmaps; Vector<NonnullRefPtr<Gfx::Bitmap>> m_body_bitmaps;

View file

@ -88,18 +88,18 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
game_menu->add_action(GUI::Action::create("&New Game", { Mod_None, Key_F2 }, TRY(Gfx::Bitmap::load_from_file("/res/icons/16x16/reload.png"sv)), [&](auto&) { game_menu->add_action(GUI::Action::create("&New Game", { Mod_None, Key_F2 }, TRY(Gfx::Bitmap::load_from_file("/res/icons/16x16/reload.png"sv)), [&](auto&) {
game.reset(); game.reset();
})); }));
static DeprecatedString const pause_text = "&Pause Game"sv; static String const pause_text = "&Pause Game"_string;
auto const pause_icon = TRY(Gfx::Bitmap::load_from_file("/res/icons/16x16/pause.png"sv)); auto const pause_icon = TRY(Gfx::Bitmap::load_from_file("/res/icons/16x16/pause.png"sv));
static DeprecatedString const continue_text = "&Continue Game"sv; static String const continue_text = "&Continue Game"_string;
auto const continue_icon = TRY(Gfx::Bitmap::load_from_file("/res/icons/16x16/play.png"sv)); auto const continue_icon = TRY(Gfx::Bitmap::load_from_file("/res/icons/16x16/play.png"sv));
game_menu->add_action(GUI::Action::create(pause_text, { Mod_None, Key_Space }, pause_icon, [&](auto& action) { game_menu->add_action(GUI::Action::create(pause_text.to_deprecated_string(), { Mod_None, Key_Space }, pause_icon, [&](auto& action) {
if (game.has_timer()) { if (game.has_timer()) {
game.pause(); game.pause();
action.set_text(continue_text); action.set_text(continue_text.to_deprecated_string());
action.set_icon(continue_icon); action.set_icon(continue_icon);
} else { } else {
game.start(); game.start();
action.set_text(pause_text); action.set_text(pause_text.to_deprecated_string());
action.set_icon(pause_icon); action.set_icon(pause_icon);
} }
})); }));
@ -129,7 +129,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
auto add_skin_action = [&](StringView name, bool enable_color) -> ErrorOr<void> { auto add_skin_action = [&](StringView name, bool enable_color) -> ErrorOr<void> {
auto action = TRY(GUI::Action::try_create_checkable(name, {}, [&, enable_color](auto& action) { auto action = TRY(GUI::Action::try_create_checkable(name, {}, [&, enable_color](auto& action) {
Config::write_string("Snake"sv, "Snake"sv, "SnakeSkin"sv, action.text()); Config::write_string("Snake"sv, "Snake"sv, "SnakeSkin"sv, action.text());
game.set_skin_name(action.text()); game.set_skin_name(String::from_deprecated_string(action.text()).release_value_but_fixme_should_propagate_errors());
change_snake_color->set_enabled(enable_color); change_snake_color->set_enabled(enable_color);
})); }));