public void Parse(SocketMessage message, int boardDimensions) { _tokens.Clear(); string[] contentWords = message.Content.Split(" "); #region create tokens for (int i = 0; i < contentWords.Length; i++) { var tokenString = contentWords[i].ToLower(); if (tokenString.Length == 2) { if (ContainsLabelLetter(tokenString[0]) && ContainsLabelNumber(tokenString[1])) { _tokens.Add(new InGameToken(tokenString, InGameToken.TokenType.CellCoord)); } } } #endregion #region trigger events depending on grammer if (_tokens.Count == 1) { if (_tokens[0].Type == InGameToken.TokenType.CellCoord) { DisplayHandler?.Invoke(Common.FromLabelToIndexCoordinate(_tokens[0].Value, boardDimensions)); } } if (_tokens.Count == 2) { if (_tokens[0].Type == InGameToken.TokenType.CellCoord && _tokens[1].Type == InGameToken.TokenType.CellCoord) { var coordFrom = Common.FromLabelToIndexCoordinate(_tokens[0].Value, boardDimensions); var coordTo = Common.FromLabelToIndexCoordinate(_tokens[1].Value, boardDimensions); MoveHandler?.Invoke(coordFrom, coordTo, message.Author); } } #endregion }
private void OnTimedEvent(object sender, ElapsedEventArgs e) //Само событие просто считывает значение переменной, которая была забита из класса управления портом { if (checkBox5.Checked) //inversion { pen.Color = Color.Green; //pen_lvl.Color = Color.Blue; fig.Color = Color.Black; } else { pen.Color = Color.Black; //pen_lvl.Color = Color.Red; fig.Color = Color.White; } conn_counter = conn_counter + 1; if (conn_counter > 20) { // connect = PortEr.Check_connection(); // System.Threading.Thread.Sleep(2000); conn_counter = 0; } try { if (connect) { //BeginInvoke(new InvokeDelegate(updateImageBox)); //if (PortEr.isChanged){ // PortEr.isChanged = false; S = PortEr.strFromPort; if (S.Length > 0) { cycle_counter++; if (cycle_counter > writer_counter) { My_txt_Writer.Close_file(); My_txt_Writer.Ini_file_writer(); cycle_counter = 0; } My_txt_Writer.Append_to_file(S); //button4.BeginInvoke((Action)delegate () { button4.Enabled = false; }); ThreadHelperClass.SetText(this, label6, S); //PortEr._port_finded); handler.Invoke(); } //} } else { ThreadHelperClass.SetText(this, label6, "Не найдено"); //button4.BeginInvoke((Action)delegate () { button4.Enabled = true; }); } } catch { //MessageBox.Show(ex.ToString()); } //throw new NotImplementedException(); }
protected virtual void OnDisplayData(string data) { DisplayHandler?.Invoke(this, data); }