From a30937f00998f963fae9c06a75fd36b0c4797fba Mon Sep 17 00:00:00 2001 From: Lucien Greathouse Date: Sat, 26 May 2018 02:32:10 -0700 Subject: [PATCH] Handle moving (very sloppily) --- server/src/rbx_session.rs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/server/src/rbx_session.rs b/server/src/rbx_session.rs index 360fcfd2..bd2045b8 100644 --- a/server/src/rbx_session.rs +++ b/server/src/rbx_session.rs @@ -162,6 +162,25 @@ impl RbxSession { } }, FileChange::Moved(from_route, to_route) => { + let mut messages = Vec::new(); + + match self.instances_by_route.get(from_route) { + Some(id) => { + self.instances.remove(id); + messages.push(Message::InstanceChanged { id: *id }); + }, + None => (), + } + + let file_item = vfs_session.get_by_route(to_route).unwrap(); + let partition = self.config.partitions.get(&to_route.partition).unwrap(); + let (_, changed_ids) = file_to_instances(file_item, partition, &mut self.instances, &mut self.instances_by_route); + + for id in changed_ids { + messages.push(Message::InstanceChanged { id }); + } + + self.message_session.push_messages(&messages); }, } }