Skip to content

Commit 7e9dddd

Browse files
authored
Merge pull request #16 from rs4rse/feat/light-toggle
- Toggle action to reset camera - Toggle action to attach ambient light following - Use mouse to control the rotation and zooming
2 parents 9687218 + d780a9b commit 7e9dddd

File tree

3 files changed

+407
-39
lines changed

3 files changed

+407
-39
lines changed

src/lib.rs

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,11 @@ pub(crate) mod structure;
1212
use crate::client::{poll_websocket_stream, setup_websocket_stream};
1313
use crate::io::load_crystal;
1414
use crate::structure::{update_crystal_system, UpdateStructure};
15-
use crate::ui::spawn_axis;
1615
use crate::ui::{camera_controls, refresh_atoms_system, setup_cameras, setup_scene};
16+
use crate::ui::{
17+
handle_toggle_events, reset_camera_button_interaction, toggle_button, ToggleEvent, ToggleStates,
18+
};
19+
use crate::ui::{setup_buttons, spawn_axis};
1720

1821
#[cfg(target_arch = "wasm32")]
1922
use wasm_bindgen::prelude::*;
@@ -33,19 +36,30 @@ pub fn run_app() {
3336
filter: "wgpu=error,bevy_render=info,bevy_ecs=trace".to_string(),
3437
custom_layer: |_| None,
3538
}))
39+
.init_resource::<ToggleStates>()
3640
.add_event::<UpdateStructure>()
41+
.add_event::<ToggleEvent>()
3742
.add_systems(Startup, load_crystal)
3843
.add_systems(Startup, setup_scene.after(load_crystal))
3944
.add_systems(
4045
Startup,
41-
(setup_cameras, spawn_axis, setup_websocket_stream).after(setup_scene),
46+
(
47+
setup_cameras,
48+
spawn_axis,
49+
setup_buttons,
50+
setup_websocket_stream,
51+
)
52+
.after(setup_scene),
4253
)
4354
.add_systems(
4455
Update,
4556
(
4657
poll_websocket_stream,
4758
update_crystal_system,
4859
refresh_atoms_system,
60+
toggle_button,
61+
reset_camera_button_interaction,
62+
handle_toggle_events,
4963
camera_controls,
5064
),
5165
)

src/structure.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ pub struct Crystal {
1717
pub atoms: Vec<Atom>,
1818
}
1919

20+
// XXX: entity is the id point to the thing consist of components
21+
2022
// Component to mark atom entities
2123
#[derive(Component)]
2224
pub struct AtomEntity;

0 commit comments

Comments
 (0)