public void Unsubscribe() { foreach (var a in Authorized.GetInvocationList()) { Authorized -= (Action)a; } foreach (var a in RoomCreated.GetInvocationList()) { RoomCreated -= (SocketMessage <RoomDTO>)a; } foreach (var a in NewMessageReceived.GetInvocationList()) { NewMessageReceived -= (SocketMessage <MessageDTO>)a; } foreach (var a in RoomParticipated.GetInvocationList()) { RoomParticipated -= (SocketMessage <RoomParticipatedDTO>)a; } foreach (var a in RoomLeft.GetInvocationList()) { RoomLeft -= (SocketMessage <RoomParticipatedDTO>)a; } foreach (var a in FileStatusChanged.GetInvocationList()) { FileStatusChanged -= (SocketMessage <FileStatusDTO>)a; } }
private void OpenedFileChanged(string fileName) { FileStatus.FileName = fileName; // If fileName is null, it's a new file, which is not saved. // Otherwise, a file was opened and doesn't need immediate saving. FileStatus.IsSaveNeeded = fileName == null; FileStatusChanged?.Invoke(this, new FileStatusChangedArgs(FileStatus)); AppSettings.SaveSettings(settings => settings.LastOpenedFile = fileName); }
public static void NotifyFileStatusChanged(FileUpdateEventArgs args) { if (!Runtime.IsMainThread) { Gtk.Application.Invoke(delegate { NotifyFileStatusChanged(args); }); } else { FileStatusChanged?.Invoke(null, args); } }
private void HandleSocketMessage(object sender, MessageEventArgs e) { var message = e.Data; try { var baseMessage = JsonConvert.DeserializeObject <BaseMessage>(message); if (baseMessage.Type == SocketMessageTypes.SuccessfullyAuthorized) { Authorized?.Invoke(); } else if (baseMessage.Type == SocketMessageTypes.RoomCreated) { var response = JsonConvert.DeserializeObject <SocketResponseDTO <RoomDTO> >(message); RoomCreated?.Invoke(response); } else if (baseMessage.Type == SocketMessageTypes.NewMessage) { var response = JsonConvert.DeserializeObject <SocketResponseDTO <MessageDTO> >(message); NewMessageReceived?.Invoke(response); } else if (baseMessage.Type == SocketMessageTypes.RoomParticipated) { var response = JsonConvert.DeserializeObject <SocketResponseDTO <RoomParticipatedDTO> >(message); RoomParticipated?.Invoke(response); } else if (baseMessage.Type == SocketMessageTypes.RoomLeft) { var response = JsonConvert.DeserializeObject <SocketResponseDTO <RoomParticipatedDTO> >(message); RoomLeft?.Invoke(response); } else if (baseMessage.Type == SocketMessageTypes.FileStatusChanged) { var response = JsonConvert.DeserializeObject <SocketResponseDTO <FileStatusDTO> >(message); FileStatusChanged?.Invoke(response); } } catch (Exception ex) { Failed?.Invoke(ex.Message); } }
private void DesignerOnBlueprintChanged(object sender, BlueprintChangedArgs blueprintChangedArgs) { FileStatus.IsSaveNeeded = blueprintChangedArgs.ChangesMade; FileStatusChanged?.Invoke(this, new FileStatusChangedArgs(FileStatus)); }