/* * Copyright (c) 2023, Sam Atkins * * SPDX-License-Identifier: BSD-2-Clause */ #include "SnakeSkin.h" #include "ClassicSkin.h" #include "ImageSkin.h" #include #include namespace Snake { ErrorOr> SnakeSkin::create(StringView skin_name, Color color) { if (skin_name == "Classic"sv) return try_make(color); // Try to find an image-based skin matching the name. if (FileSystem::exists(TRY(String::formatted("/res/graphics/snake/skins/{}", skin_name)))) return ImageSkin::create(skin_name); // Fall-back on classic return try_make(color); } }