예제 #1
0
 protected virtual void OnNodeRemove(uint nodeid)
 {
     NodeRemove?.Invoke(nodeid);
 }
예제 #2
0
        private void NodeRemoveMessageHandler(Server server, Client client, Session session, NodeRemove message)
        {
            // Update internal state.

            Node node = session.Node.GetNode(new NodePath(message.Selector));

            if (node == null)
            {
                return;
            }

            NodePath nodePath = new NodePath(message.Selector);

            node.Parent.Children.RemoveAll(m => m.Path.Path == nodePath.Path);

            // Forward the update message to all clients.

            server.SendBroadcastWithExcept(message, client);
        }