private void OnConnected() { NeedToReconnect = false; if (RemoveAfterConnection) { if (ServerTree.Instance.SelectedNode == this) { ServerTree.Instance.SelectedNode = ServerNode; } else if (_selectedInConnectedGroup && ServerTree.Instance.SelectedNode == ServerNode) { ServerTree.Instance.SelectedNode = ServerNode.FindServerRef <ConnectedServerRef>(); } ServerTree.Instance.RemoveNode(this); } }
public void Start(bool removeAfterConnection) { RemoveAfterConnection = removeAfterConnection; NeedToReconnect = true; ConnectedServerRef connectedServerRef = ServerNode.FindServerRef <ConnectedServerRef>(); if (connectedServerRef != null) { _selectedInConnectedGroup = connectedServerRef.IsSelected; if (_selectedInConnectedGroup) { ServerTree.Instance.SelectedNode = ServerNode; } } if (!ServerNode.IsConnected) { ServerNode.Connect(); } else { ServerNode.Disconnect(); } }