bevyengine / bevyengine/bevy

add_observer(s) should accept a tuple of observers akin to add_systems or add_systems should allow for observers

Open
#17,190 1 comment 1 reaction 0 assignees View on GitHub
A-ECS C-Feature D-Straightforward S-Needs-Design
Dominant language
Rust
Stars
48.2k
Forks
4.8k
Avg merge
3d 22h
Merged PRs (30d)
161

Description

## What problem does this solve or what need does it fill?

Right now, if you are adding multiple observer "systems" to an app, you must call add_observer for each such "system". This has pretty poor ergonomics IMO.

```rust
app.add_systems(FixedUpdate, (system_a, system_b, system_c)).add_observer(observer_a).add_observer(observer_b).add_observer(observer_c)
```

## What solution would you like?

Either:

```rust
app.add_systems(FixedUpdate, (system_a, system_b, system_c)).add_observers((observer_a, observer_b, observer_c))
```

or:

```rust
app.add_systems(FixedUpdate, (system_a, system_b, system_c, observer_a, observer_b, observer_c))
```

I think I'd likely prefer the latter, though it's less specific, because I could, ostensibly, then also add run_conditions etc to my observers (run if in state, etc).

## What alternative(s) have you considered?

Truthfully, none.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.