Skip to content

Commit 96396f1

Browse files
committed
use BundleBuilder in SpashResources
1 parent 493e537 commit 96396f1

File tree

4 files changed

+19
-15
lines changed

4 files changed

+19
-15
lines changed

games/HOME/bits/SplashResources.cc

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#include "SplashResources.h"
22

3+
#include <gf2/framework/BundleBuilder.h>
4+
35
#include "GameHub.h"
46

57
namespace home {
@@ -25,23 +27,15 @@ namespace home {
2527
click_text.data.color = gf::Color(0x44548E);
2628
}
2729

28-
gf::ResourceBundle SplashResources::bundle(GameHub* hub)
30+
gf::ResourceBundle SplashResources::bundle(GameHub* hub) const
2931
{
30-
gf::ResourceBundle bundle([hub, this](gf::ResourceBundle* bundle, gf::ResourceManager* resources, gf::ResourceAction action) {
31-
// fonts
32-
33-
for (const gf::TextResource* resource : { &title_text, &click_text }) {
34-
bundle->handle<gf::FontFace>(resource->font, hub->font_manager(), resources, action);
35-
}
36-
37-
// textures
32+
gf::BundleBuilder builder(hub);
3833

39-
for (const gf::SpriteResource* resource : { &title_sprite }) {
40-
bundle->handle<gf::Texture>(resource->texture, hub->render_manager(), resources, action);
41-
}
42-
});
34+
builder.add_in_bundle(title_sprite);
35+
builder.add_in_bundle(title_text);
36+
builder.add_in_bundle(click_text);
4337

44-
return bundle;
38+
return builder.make_bundle();
4539
}
4640

4741
}

games/HOME/bits/SplashResources.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ namespace home {
1212
struct SplashResources {
1313
SplashResources();
1414

15-
gf::ResourceBundle bundle(GameHub* hub);
15+
gf::ResourceBundle bundle(GameHub* hub) const;
1616

1717
gf::SpriteResource title_sprite;
1818
gf::TextResource title_text;

include/gf2/framework/BundleBuilder.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ namespace gf {
1414
class AudioManager;
1515
class FontManager;
1616
class RenderManager;
17+
class SceneSystem;
1718
struct AnimationResource;
1819
struct AnimationGroupResource;
1920
struct AudioSourceResource;
@@ -26,6 +27,7 @@ namespace gf {
2627
class GF_FRAMEWORK_API BundleBuilder {
2728
public:
2829
BundleBuilder(RenderManager* render_manager, FontManager* font_manager, AudioManager* audio_manager);
30+
BundleBuilder(SceneSystem* scene_manager);
2931

3032
void add_in_bundle(const AnimationResource& resource);
3133
void add_in_bundle(const AnimationGroupResource& resource);

library/framework/BundleBuilder.cc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
#include <gf2/audio/Sound.h>
1616
#include <gf2/graphics/Texture.h>
1717
#include <gf2/graphics/RichMap.h>
18+
#include <gf2/framework/SceneSystem.h>
1819

1920
namespace gf {
2021
BundleBuilder::BundleBuilder(RenderManager* render_manager, FontManager* font_manager, AudioManager* audio_manager)
@@ -24,6 +25,13 @@ namespace gf {
2425
{
2526
}
2627

28+
BundleBuilder::BundleBuilder(SceneSystem* scene_manager)
29+
: m_render_manager(scene_manager->render_manager())
30+
, m_font_manager(scene_manager->font_manager())
31+
, m_audio_manager(scene_manager->audio_manager())
32+
{
33+
}
34+
2735
void BundleBuilder::add_in_bundle(const AnimationResource& resource)
2836
{
2937
for (const std::filesystem::path& texture : resource.textures) {

0 commit comments

Comments
 (0)