Because the old case didn't account for the Scheduler got dropped but Participant keept around.
Shutdown behavior is quite easy now: bParticipant sends a oneshot, when that hits we stop. also when Participant gets droped we still stop as there woul dbe no sense in continue running the report_mgr ...
This will ask the bparticipant for a list of all channels and their respective connection arguments.
With that one could prob reach the remote side.
The data is gathered by scheduler (or channel for the listener code).
It requeres some read logs so we shouldn't abuse that function call.
in bparticipant we have a new manager that also properly shuts down as the Participant holds the sender to the respective receiver.
The sender is always dropped. inside the Mutex via disconnect and outside via Drop (we need 2 Options as otherwise we would create a runtime inside async context implicitly o.O )
(also i didn't liked the alternative by just overwriting the sender with a fake one, i want a propper Option that can be taken)
The code might also come handy in the future when we implement a auto-reconnect feature in the bparticipant.
- `BlockFloater`s and `ComboFloater`s don't store the owner anymore,
`ExpFloater` still does, however the field is used to prevent
accumulating old floaters with new ones. This change also makes it so
that if the client changes entity, they keep the old entity's
floaters.
- The `combo_floaters` field is now `combo_floater` plus it now uses an
Option<ExpFloater>.
- Changed `handle_health_change` to change the health even if the entity
does not have a `Pos` or `Uid`, now uses `emit_now`combo_floater` plus
it now uses an Option<ExpFloater>.
- Changed `handle_health_change` to change the health even if the entity
does not have a `Pos` or `Uid`, now uses `emit_now`
- Changed some comments
- Change hp_pulse to not be framerate dependent
- Change some of the HpFloater checks to be inside the find() function
- Remove unnecessary join
- Add back option for showing incoming damage + add option for
experience accumulation
- Change `ExpFloater`s to not store the owner, as they are only shown
for the player (will have to see if the implementation is correct so
that it may be applied to the other floaters)
- Rename `Outcome::Damage` to `Outcome::HealthChange` and `DamageInfo`
to `HealthChangeInfo`
- Update some outdated comments/documentation