private void SendMessage(EnvironmentMessage message) { if (_active) { bool tempRunning = _running; _running = true; lock (this) { if (message != null) { if ((message.Message == TypeMessege.DeletePoint) || (message.Message == TypeMessege.DeleteAllPoint) || (message.Message == TypeMessege.GetPoint)) { if (_space != null) { ChangedPoints?.Invoke(_space); } } EnvironmentMessage?.Invoke(message); } } _running = tempRunning; } }
private void SendMessageEnvironmentMessage(object msg) { if (_active) { bool tempRunning = _running; _running = true; EnvironmentMessage message = new EnvironmentMessage(); if (message is EnvironmentMessage) { message = ((EnvironmentMessage)msg).Clone(); } EnvironmentMessage?.Invoke(message); _running = tempRunning; } }