Skip to content

Commit cff7138

Browse files
committed
add select_buffers to avoid the need to directly reference generate buffer struct
Signed-off-by: Teo Koon Peng <[email protected]>
1 parent af2caf7 commit cff7138

File tree

2 files changed

+20
-6
lines changed

2 files changed

+20
-6
lines changed

macros/src/buffer.rs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,20 @@ pub(crate) fn impl_joined_value(input_struct: &ItemStruct) -> Result<TokenStream
3131

3232
#buffer_struct
3333

34+
impl #impl_generics #struct_ident #ty_generics #where_clause {
35+
fn select_buffers(
36+
#(
37+
#field_ident: ::bevy_impulse::Buffer<#field_type>,
38+
)*
39+
) -> #struct_buffer_ident #ty_generics {
40+
#struct_buffer_ident {
41+
#(
42+
#field_ident,
43+
)*
44+
}
45+
}
46+
}
47+
3448
#impl_buffer_map_layout
3549

3650
#impl_joined

src/buffer/buffer_map.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -369,12 +369,12 @@ mod tests {
369369
let mut context = TestingContext::minimal_plugins();
370370

371371
let workflow = context.spawn_io_workflow(|scope, builder| {
372-
let buffers = __bevy_impulse_TestJoinedValue_Buffers {
373-
integer: builder.create_buffer(BufferSettings::default()),
374-
float: builder.create_buffer(BufferSettings::default()),
375-
string: builder.create_buffer(BufferSettings::default()),
376-
generic: builder.create_buffer(BufferSettings::default()),
377-
};
372+
let buffers = TestJoinedValue::select_buffers(
373+
builder.create_buffer(BufferSettings::default()),
374+
builder.create_buffer(BufferSettings::default()),
375+
builder.create_buffer(BufferSettings::default()),
376+
builder.create_buffer(BufferSettings::default()),
377+
);
378378

379379
scope.input.chain(builder).fork_unzip((
380380
|chain: Chain<_>| chain.connect(buffers.integer.input_slot()),

0 commit comments

Comments
 (0)