aboutsummaryrefslogtreecommitdiff
path: root/src/events.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/events.rs')
-rw-r--r--src/events.rs28
1 files changed, 11 insertions, 17 deletions
diff --git a/src/events.rs b/src/events.rs
index 7932a67..042c5e6 100644
--- a/src/events.rs
+++ b/src/events.rs
@@ -2,33 +2,27 @@ use std::path::PathBuf;
use bevy::prelude::*;
-/// Events related to activities in the dirworld.
-#[derive(Event)]
-pub enum DirworldNavigationEvent {
- /// Triggered when a room is left.
- LeftRoom {
- /// Path of room just left.
- path: PathBuf,
- },
- /// Triggered when a room is entered.
- EnteredRoom {
- /// Path of room just entered.
- path: PathBuf,
- },
-}
-
/// Event called when leaving a room
#[derive(Debug, Event, Deref, DerefMut, Clone)]
pub struct DirworldLeaveRoom(pub PathBuf);
/// Event called when entering a room
-#[derive(Debug, Event, Deref, DerefMut, Clone)]
-pub struct DirworldEnterRoom(pub PathBuf);
+#[derive(Debug, Event, Clone)]
+pub struct DirworldEnterRoom {
+ pub exited: PathBuf,
+ pub entered: PathBuf,
+}
/// Event called when changing the world root
#[derive(Debug, Event, Deref, DerefMut, Clone)]
pub struct DirworldChangeRoot(pub PathBuf);
+#[derive(Debug, Event, Clone)]
+pub struct DirworldNavigationComplete {
+ pub from: PathBuf,
+ pub to: PathBuf,
+}
+
/// Event called to spawn a dirworld entities
#[derive(Event, Debug, Deref, DerefMut, Clone, Copy)]
pub struct DirworldSpawn(pub Entity);