private void OnClickStatus(object sender, MouseEventArgs e) { try { BombInfo bi = new BombInfo(); if (m_BombInfo.Bombs.Count == 0) { BombPoint bp = new BombPoint(); List <BombPoint> bps = new List <BombPoint>(); bps.Add(bp); bi.Bombs.Add(bps); BombPoint bp2 = new BombPoint(); List <BombPoint> bps2 = new List <BombPoint>(); bps2.Add(bp2); bi.Bombs.Add(bps2); } Serialize <BombInfo>(@"d:\BombInfo.xml", bi); } catch (Exception ex) { Logger.Bomb.Error("DeSerialize:" + ex.ToString()); } }
private int GetZone(BombPoint bp, int ResolutionX, int ResolutionY) { double x = (double)bp.X / (double)ResolutionX; double y = (double)bp.Y / (double)ResolutionY; int i = 1; int j = 1; if (x < 0.33333) { i = 1; } else if (x < 0.66666) { i = 2; } else { i = 3; } if (y < 0.33333) { j = 0; } else if (y < 0.66666) { j = 1; } else { j = 2; } int Zone = 1; Zone = j * 3 + i; return(Zone); }
private void Reciving(object sender, APISocket.APISocksEventArgs e) { try { this.Invoke(new Action(() => { txtACPRecive.Text = e.msg; //InspectCenter(e.msg); } )); if (e.msg.Length > 5) { string[] sp = e.msg.Split(','); if (sp.Length >= 1) { if (sp[0] == "GETBOMB") { if (sp.Length == 2) { BLID = sp[1]; isGotBom = true; GetBomb(m_BombInfo.Fab, m_BombInfo.EQ, sp[1]); } } else if (sp[0] == "BOMBRESULT") { if (isGotBom) { //BOMBRESULT,count,Def1X,def1y,..... if (sp.Length >= 2) { int count = int.Parse(sp[1]); List <BombPoint> bps = new List <BombPoint>(); int i, j; for (i = 0; i < count; i++) { BombPoint bp = new BombPoint(); bp.X = (int)(float.Parse(sp[2 + i * 2]) * (float)m_BombInfo.ResolutionX); bp.Y = (int)(float.Parse(sp[2 + i * 2 + 1]) * (float)m_BombInfo.ResolutionY); bps.Add(bp); } int match = 0; double xx, yy; for (i = 0; i < m_BombInfo.Bombs[BombIndex].Count; i++) { for (j = 0; j < bps.Count; j++) { xx = m_BombInfo.Bombs[BombIndex][i].X - bps[j].X; yy = m_BombInfo.Bombs[BombIndex][i].Y - bps[j].Y; if (Math.Sqrt(xx * xx + yy * yy) < 20) { match++; } } } string result = "NG"; if (match == m_BombInfo.Bombs[BombIndex].Count) { result = "OK"; } string xyResult = ""; for (i = 0; i < bps.Count; i++) { var bp = bps[i]; xyResult += GetZone(bp, m_BombInfo.ResolutionX, m_BombInfo.ResolutionY).ToString() + "(" + bp.X + "," + bp.Y + ")"; if (i != bps.Count - 1) { xyResult += ";"; } } string strBombRep = "OK"; if (!isTestMode) { strBombRep = apibomb.GetBombResult(m_BombInfo.Fab, m_BombInfo.EQ, BLID, "White", xyResult, result); } Logger.socket.Info("Send to Web Service: " + m_BombInfo.Fab + "," + m_BombInfo.EQ + "," + BLID + "," + "White" + xyResult + "," + result); this.Invoke(new Action(() => { textBomSend.Text = "Send Bomb Result!"; txtBombRecive.Text = strBombRep; } )); } } } } } } catch (Exception ex) { Logger.Bomb.Error(ex.ToString()); } }