Switch to replicon (#80)

This commit is contained in:
PROMETHIA-27
2025-12-08 19:22:17 -05:00
committed by GitHub
parent 7a5d2e6914
commit ff52258ad2
55 changed files with 1212 additions and 2951 deletions

View File

@@ -3,6 +3,7 @@ use crate::{
protocol::PlaySound,
};
use bevy::{platform::collections::HashSet, prelude::*};
use bevy_replicon::prelude::{SendMode, ServerTriggerExt, ToClients};
pub fn plugin(app: &mut App) {
global_observer!(app, on_key_collected);
@@ -11,22 +12,34 @@ pub fn plugin(app: &mut App) {
fn on_key_collected(trigger: On<KeyCollected>, mut commands: Commands) {
match trigger.event().0.as_str() {
"fence_gate" => {
commands.trigger(StartCutscene("fence_01".to_string()));
commands.server_trigger(ToClients {
mode: SendMode::Broadcast,
message: StartCutscene("fence_01".to_string()),
});
let entities: HashSet<_> = vec!["fence_01", "fence_02"]
.into_iter()
.map(String::from)
.collect();
commands.trigger(PlaySound::Gate);
commands.server_trigger(ToClients {
mode: SendMode::Broadcast,
message: PlaySound::Gate,
});
commands.trigger(TriggerMovableEvent(entities));
}
"fence_shaft" => {
commands.trigger(StartCutscene("cutscene_02".to_string()));
commands.server_trigger(ToClients {
mode: SendMode::Broadcast,
message: StartCutscene("cutscene_02".to_string()),
});
let entities: HashSet<_> = vec!["fence_shaft"].into_iter().map(String::from).collect();
commands.trigger(PlaySound::Gate);
commands.server_trigger(ToClients {
mode: SendMode::Broadcast,
message: PlaySound::Gate,
});
commands.trigger(TriggerMovableEvent(entities));
}
_ => {