//DataGridViewに追加 public void AddList(Enemy.Model.Enemy e) { if (dataGridView1.IsDisposed) { return; } if (dataGridView1.InvokeRequired) { this.Invoke((MethodInvoker) delegate { //上から追加 dataGridView1.Rows.Insert(0); dataGridView1.Rows[0].Cells[0].Value = "Lv." + e.Level + " " + e.Name_ja; dataGridView1.Rows[0].Cells[1].Value = e.ID; if (e.Comment != null) { dataGridView1.Rows[0].Cells[2].Value = e.Comment; } if (dataGridView1.Rows.Count > 200) { dataGridView1.Rows.Clear(); } }); } }
//ツイート受信時に発生するイベント public void TweetReceive(string twitext) { int parsecnt = 0; var ReceivedEnemy = new Enemy.Model.Enemy(); var LanguageParam = new bool(); string ReceivedName = ""; string level = ""; string id = ""; if (twitext.Contains("参加者募集!") == true && twitext.Contains("ムID") == false && twitext.Contains("ルーム") == false) { LanguageParam = true; parsecnt = twitext.IndexOf("参戦ID"); parsecnt -= 2; ReceivedEnemy.ID = twitext.Remove(parsecnt); if (ReceivedEnemy.ID.Count() > 8) { ReceivedEnemy.Comment = ReceivedEnemy.ID.Remove(ReceivedEnemy.ID.Count() - 8); ReceivedEnemy.ID = ReceivedEnemy.ID.Substring(ReceivedEnemy.ID.Count() - 8); } else { ReceivedEnemy.Comment = null; } parsecnt = twitext.IndexOf("参加者募集!"); ReceivedEnemy.Level = twitext.Substring(parsecnt + 9, 2); if (Convert.ToInt32(ReceivedEnemy.Level) >= 10 && Convert.ToInt32(ReceivedEnemy.Level) <= 20) { ReceivedEnemy.Level += "0"; } if (Convert.ToInt32(ReceivedEnemy.Level) > 99) { ReceivedName = twitext.Substring(parsecnt + 13); } else { ReceivedName = twitext.Substring(parsecnt + 12); } if ((twitext.IndexOf("https://")) > 1) { parsecnt = ReceivedName.Count(); ReceivedName = ReceivedName.Remove(parsecnt - 24); } ReceivedEnemy.Name_ja = ReceivedName; } else if (twitext.Contains("I need backup!") == true) { LanguageParam = false; parsecnt = twitext.IndexOf("Battle"); parsecnt -= 2; ReceivedEnemy.ID = twitext.Remove(parsecnt); if (ReceivedEnemy.ID.Count() > 8) { ReceivedEnemy.Comment = ReceivedEnemy.ID.Remove(ReceivedEnemy.ID.Count() - 8); ReceivedEnemy.ID = ReceivedEnemy.ID.Substring(ReceivedEnemy.ID.Count() - 8); } else { ReceivedEnemy.Comment = null; } parsecnt = twitext.IndexOf("Lvl"); ReceivedEnemy.Level = twitext.Substring(parsecnt + 4, 2); if (Convert.ToInt32(ReceivedEnemy.Level) >= 10 && Convert.ToInt32(ReceivedEnemy.Level) <= 20) { ReceivedEnemy.Level += "0"; } if (Convert.ToInt32(ReceivedEnemy.Level) > 99) { ReceivedName = twitext.Substring(parsecnt + 8); } else { ReceivedName = twitext.Substring(parsecnt + 7); } if ((twitext.IndexOf("https://")) > 1) { parsecnt = ReceivedName.Count(); ReceivedName = ReceivedName.Remove(parsecnt - 24); } ReceivedEnemy.Name_en = ReceivedName; } level = ReceivedEnemy.Level; id = ReceivedEnemy.ID; //チェック入りアイテムの絞り込み処理 foreach (int indexchecked in checkedListBox1.CheckedIndices) { if (indexchecked == itemcount - 1 || indexchecked == itemcount - 2 || indexchecked == itemcount - 3) { var temp_e = Enemy.Model.IndexFilter.EventFiltering(ReceivedEnemy, master, indexchecked); if (temp_e.Name_ja != "undefined" && temp_e.ID != "FFFFFFFF" || temp_e.Level != "999") { AddList(temp_e); ReceivedEnemy = Enemy.Model.IndexFilter.Tonull(ReceivedEnemy); Ring(); break; } } else { var req = Enemy.Model.IndexFilter.GenerateRequireEnemy(indexchecked, master); var e = Enemy.Model.IndexFilter.Filtering(ReceivedEnemy, req, LanguageParam); if (e.Name_ja != "undefined" && e.Name_en != "undefined" && e.ID != "FFFFFFFF" || e.Level != "999") { AddList(e); Ring(); break; } ReceivedEnemy.Level = level; if (LanguageParam == true) { ReceivedEnemy.Name_ja = ReceivedName; } else if (LanguageParam == false) { ReceivedEnemy.Name_en = ReceivedName; } ReceivedEnemy.ID = id; } } }