private void Init() { m_timer = new Timer(); m_timer.Interval = 1000; m_timer.Tick += Update; m_timer.Start(); for (int i = 0; i < m_list_unit_rect.Length; ++i) { m_list_unit_rect[i] = new UnitRectInfo(); } }
private void DrawUnit() { m_cur_rect_count = 0; using (Graphics gra = this.m_pic_root.CreateGraphics()) { gra.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; Unit main_unit = null; using (Brush bush = new SolidBrush(Color.Green)) { Unit unit = null; Dictionary <long, Unit> units = UnitManager.Instance.units; foreach (var obj in units) { if (m_cur_rect_count >= m_list_unit_rect.Length) { break; } unit = obj.Value; if (unit.obj_idx == PlayerDataMgr.Instance.main_player_id) { main_unit = unit; continue; } int x = 10 * unit.pos.x + 500; int y = 10 * unit.pos.y + 500; gra.FillEllipse(bush, x, y, 10, 10); UnitRectInfo unit_info = m_list_unit_rect[m_cur_rect_count]; unit_info.unit_idx = unit.obj_idx; unit_info.rect.X = x; unit_info.rect.Y = y; unit_info.rect.Width = 10; unit_info.rect.Height = 10; ++m_cur_rect_count; } } if (main_unit != null) { using (Brush bush = new SolidBrush(Color.Red)) { if (m_cur_rect_count >= m_list_unit_rect.Length) { return; } int x = 10 * main_unit.pos.x + 500; int y = 10 * main_unit.pos.y + 500; gra.FillEllipse(bush, x, y, 10, 10); UnitRectInfo unit_info = m_list_unit_rect[m_cur_rect_count]; unit_info.unit_idx = main_unit.obj_idx; unit_info.rect.X = x; unit_info.rect.Y = y; unit_info.rect.Width = 10; unit_info.rect.Height = 10; ++m_cur_rect_count; } } } }