private void HandleMessage(string text, OutputParseResult outputParseResult) { if (InvokeRequired) { Invoke((MethodInvoker)(() => HandleMessage(text, outputParseResult))); } else { string[] content = { (slvIssues.Items.Count + 1).ToString(), outputParseResult.Type.ToString(), outputParseResult.Time.ToLongTimeString(), Regex.Replace(outputParseResult.Message, "^\\[(warn|warning|severe|error)\\]\\s?","", RegexOptions.IgnoreCase) }; ListViewItem lvi = new ListViewItem(content) { Tag = outputParseResult }; switch (outputParseResult.Type) { case MessageType.Warning: lvi.ForeColor = ConsoleTab.Reference.MCCOut.MessageColorWarning; break; default: lvi.ForeColor = ConsoleTab.Reference.MCCOut.MessageColorSevere; break; } slvIssues.Items.Add(lvi); } }
private void OnOutputReceived(string s, OutputParseResult result) { if (result.Message.ToLower().Contains(result.Message.ToLower())) { OnTaskerTriggerFired(); } }
/// <summary> /// Handle a player disconnect event /// </summary> private static void HandlePlayerDisconnect(string text, OutputParseResult outputparseresult, IPlayerAction playeraction) { if (OnlinePlayers.ContainsKey(playeraction.PlayerName)) { OnlinePlayers.Remove(playeraction.PlayerName); } RaisePlayerListChangedEvent(); }
/// <summary> /// Handle a player disconnect event /// </summary> private static void HandlePlayerDisconnect(string text, OutputParseResult outputParseResult, IPlayerAction playeraction) { Player player = GetOnlinePlayerByName(playeraction.PlayerName); if (player != null) { RemovePlayer(player); } }
/// <summary> /// Handle a player join event /// </summary> private static void HandlePlayerJoin( string text, OutputParseResult outputparseresult, IPlayerAction playeraction) { PlayerActionJoin join = (PlayerActionJoin)playeraction; Player player = new Player(join.PlayerName, join.Ip, join.PlayerName); AddPlayer(player); }
private void ShowBanTray(string text, OutputParseResult outputParseResult, IPlayerAction playerAction) { if (!_alwaysShowBalloons && MainForm.Reference.Visible) { return; // if visible and balloons shouldn't be shown always, don't show. } _icon.ShowBalloonTip(BalloonDuration, playerAction.PlayerName + " " + Locale.Tr("was banned from the server"), outputParseResult.Message, ToolTipIcon.Warning); }
/// <summary> /// Handle output from the server and print it to the bottom of the screen /// </summary> /// <param name="text"> The text that was parsed</param> /// <param name="result">Result of the parse operation</param> private void HandleOutput(string text, OutputParseResult result) { //suport for calls from other threads if (InvokeRequired) { Invoke((MethodInvoker)(() => HandleOutput(text, result))); } else { LblToolsMainServerOutput.Text = result.Message; } }
/// <summary> /// Handle a player join event /// </summary> private static void HandlePlayerJoin( string text, OutputParseResult outputparseresult, IPlayerAction playeraction) { PlayerActionJoin join = (PlayerActionJoin)playeraction; Player player = new Player(join.PlayerName, join.Ip, join.PlayerName) { JoinTime = @join.Time }; if (!OnlinePlayers.ContainsKey(player.Name)) { OnlinePlayers.Add(player.Name, player); } RaisePlayerListChangedEvent(); }
private void HandleMessage(string text, OutputParseResult outputParseResult) { if (InvokeRequired) { Invoke((MethodInvoker)(() => HandleMessage(text, outputParseResult))); } else { string[] content = { (++_issueCount).ToString(), outputParseResult.Type.ToString(), outputParseResult.Time.ToLongTimeString(), Regex.Replace(outputParseResult.Message, "^\\[(warn|warning|severe|error)\\]\\s?","", RegexOptions.IgnoreCase) }; ListViewItem lvi = new ListViewItem(content) { Tag = outputParseResult }; switch (outputParseResult.Type) { case MessageType.Warning: lvi.ForeColor = ConsoleTab.Reference.MCCOut.MessageColorWarning; break; default: lvi.ForeColor = ConsoleTab.Reference.MCCOut.MessageColorSevere; break; } slvIssues.Items.Add(lvi); if (slvIssues.Items.Count > 1023) { // when too much entries, leave only 512 entries foreach (ListViewItem item in slvIssues.Items) { if (ulong.Parse(item.SubItems[0].Text) < _issueCount - 512) { item.Remove(); } } } } }
private void OnOutputReceived(string s, OutputParseResult result) { try { if (Regex.IsMatch(result.Message, Parameters)) { OnTaskerTriggerFired(); } } catch (Exception exception) { Disable(); // prevent spam of this error on server start MetroMessageBox.Show(Application.OpenForms[0], "Failed to execute regex trigger!" + Environment.NewLine + "Following regex caused issues: " + Parameters + Environment.NewLine + "The trigger will now be disabled. Edit the task to enable it again.", "Regex trigger failed", MessageBoxButtons.OK, MessageBoxIcon.Error); Logger.Log(LogLevel.Warning, "Regex trigger failed, check regex!", exception.Message); } }
/// <summary> /// Got an answer, reset the "waiting for heartbeat" variable /// </summary> /// <param name="text"></param> /// <param name="outputParseResult"></param> /// <param name="playersDictionary"></param> private void heartbeat_received(string text, OutputParseResult outputParseResult, Dictionary <string, string> playersDictionary) { _heartbeat_unanswered = false; }
/// <summary> /// Print output to the console /// </summary> /// <param name="text"></param> /// <param name="outputParseResult"></param> private void PrintOutput(string text, OutputParseResult outputParseResult) { MCCOut.WriteOutput(outputParseResult.Type, outputParseResult.Message); }
/// <summary> /// Play the player joined sound /// </summary> /// <param name="text"></param> /// <param name="outputParseResult"></param> /// <param name="playerAction"></param> private void SoundPlayerJoin(string text, OutputParseResult outputParseResult, IPlayerAction playerAction) { new Audio().Play(Resources.sound_connect, AudioPlayMode.Background); }
/// <summary> /// Play the warning message sound /// </summary> private void SoundWarningMessage(string text, OutputParseResult outputParseResult) { new Audio().Play(Resources.sound_warning, AudioPlayMode.Background); }
/// <summary> /// Play the severe message sound /// </summary> private void SoundSevereMessage(string text, OutputParseResult outputParseResult) { new Audio().Play(Resources.sound_severe, AudioPlayMode.Background); }