예제 #1
0
        public void UpdateMapList(string blah)
        {
            /*
            if (this.InvokeRequired) {
                LogDelegate d = new LogDelegate(UpdateMapList);
                this.Invoke(d, new object[] { blah });
            } else {
                LevelCollection lc = new LevelCollection(new LevelListView());
                Server.levels.ForEach(delegate(Level l) { lc.Add(l); });
                dgvMaps.SuspendLayout();
                dgvMaps.DataSource = lc;
                //dgvMaps.Invalidate();
                dgvMaps.ResumeLayout();
            }
            */
            if (this.InvokeRequired)
            {
                LogDelegate d = new LogDelegate(UpdateMapList);
                this.Invoke(d, new object[] { blah });
            }
            else
            {

                if (dgvMaps.DataSource == null)
                    dgvMaps.DataSource = lc;

                // Try to keep the same selection on update
                string selected = null;
                if (lc.Count > 0 && dgvMaps.SelectedRows.Count > 0)
                {
                    selected = (from DataGridViewRow row in dgvMaps.Rows where row.Selected select lc[row.Index]).First().name;
                }

                // Update the data source and control
                //dgvPlayers.SuspendLayout();

                lc = new LevelCollection(new LevelListView());
                Server.levels.ForEach(delegate(Level l) { lc.Add(l); });

                //dgvPlayers.Invalidate();
                dgvMaps.DataSource = lc;
                // Reselect map
                if (selected != null)
                {
                    foreach (Level l in Server.levels)
                        foreach (DataGridViewRow row in dgvMaps.Rows)
                            if (String.Equals(row.Cells[0].Value, selected))
                                row.Selected = true;
                }

                dgvMaps.Refresh();
                //dgvPlayers.ResumeLayout();
            }
        }
예제 #2
0
 void Awake()
 {
     gameObject.tag = TagManager.LEVEL_UP;
     collection.Add(this);
 }
예제 #3
0
        public void UpdateMapList(string unused)
        {
            /*
             * if (this.InvokeRequired) {
             *  LogDelegate d = new LogDelegate(UpdateMapList);
             *  this.Invoke(d, new object[] { blah });
             * } else {
             *  LevelCollection lc = new LevelCollection(new LevelListView());
             *  Server.levels.ForEach(delegate(Level l) { lc.Add(l); });
             *  dgvMaps.SuspendLayout();
             *  dgvMaps.DataSource = lc;
             *  //dgvMaps.Invalidate();
             *  dgvMaps.ResumeLayout();
             * }
             */
            if (InvokeRequired)
            {
                LogDelegate d = new LogDelegate(UpdateMapList);
                Invoke(d, new Object[] { " " });
            }
            else
            {
                if (dgvMaps.DataSource == null)
                {
                    dgvMaps.DataSource = lc;
                }

                // Try to keep the same selection on update
                string selected = null;
                if (lc.Count > 0 && dgvMaps.SelectedRows.Count > 0)
                {
                    selected = (from DataGridViewRow row in dgvMaps.Rows where row.Selected select lc[row.Index]).First().name;
                }

                // Update the data source and control
                //dgvPlayers.SuspendLayout();
                lc.Clear();
                //lc = new LevelCollection(new LevelListView());
                Server.levels.ForEach(delegate(Level l) { lc.Add(l); });

                //dgvPlayers.Invalidate();
                dgvMaps.DataSource = null;
                dgvMaps.DataSource = lc;
                // Reselect map
                if (selected != null)
                {
                    foreach (DataGridViewRow row in Server.levels.SelectMany(l => dgvMaps.Rows.Cast <DataGridViewRow>().Where(row => (string)row.Cells[0].Value == selected)))
                    {
                        row.Selected = true;
                    }
                }

                dgvMaps.Refresh();
                //dgvPlayers.ResumeLayout();

                if (dgvMapsTab.DataSource == null)
                {
                    dgvMapsTab.DataSource = lcTAB;
                }

                // Try to keep the same selection on update
                string selected2 = null;
                if (lcTAB.Count > 0 && dgvMapsTab.SelectedRows.Count > 0)
                {
                    selected2 = (from DataGridViewRow row in dgvMapsTab.Rows where row.Selected select lcTAB[row.Index]).First().name;
                }

                // Update the data source and control
                //dgvPlayers.SuspendLayout();
                lcTAB.Clear();
                //lcTAB = new LevelCollection(new LevelListViewForTab());
                Server.levels.ForEach(delegate(Level l) { lcTAB.Add(l); });

                //dgvPlayers.Invalidate();
                dgvMapsTab.DataSource = null;
                dgvMapsTab.DataSource = lcTAB;
                // Reselect map
                if (selected2 != null)
                {
                    foreach (Level l in Server.levels)
                    {
                        foreach (DataGridViewRow row in dgvMapsTab.Rows)
                        {
                            if (String.Equals(row.Cells[0].Value, selected2))
                            {
                                row.Selected = true;
                            }
                        }
                    }
                }

                dgvMapsTab.Refresh();
            }
        }
예제 #4
0
파일: Window.cs 프로젝트: dekema2/MCDek
        public void UpdateMapList()
        {
            if (InvokeRequired)
                Invoke(new UpdateList(UpdateMapList));
            else
            {

                if (dgvMaps.DataSource == null)
                    dgvMaps.DataSource = lc;

                string selected = null;
                if (lc.Count > 0 && dgvMaps.SelectedRows.Count > 0)
                {
                    selected = (from DataGridViewRow row in dgvMaps.Rows where row.Selected select lc[row.Index]).First().name;
                }

                dgvPlayers.SuspendLayout();
                lc.Clear();
                lc = new LevelCollection(new LevelListView());
                Server.levels.ForEach(l => lc.Add(l));

                dgvPlayers.Invalidate();
                dgvMaps.DataSource = null;
                dgvMaps.DataSource = lc;
                if (selected != null)
                {
                    foreach (DataGridViewRow row in Server.levels.SelectMany(l => dgvMaps.Rows.Cast<DataGridViewRow>().Where(row => (string)row.Cells[0].Value == selected)))
                        row.Selected = true;
                }

                dgvMaps.Refresh();
                dgvPlayers.ResumeLayout();

                if (dgvMapsTab.DataSource == null)
                    dgvMapsTab.DataSource = lcTAB;

                string selected2 = null;
                if (lcTAB.Count > 0 && dgvMapsTab.SelectedRows.Count > 0)
                {
                    selected2 = (from DataGridViewRow row in dgvMapsTab.Rows where row.Selected select lcTAB[row.Index]).First().name;
                }

                dgvPlayers.SuspendLayout();
                lcTAB.Clear();
                lcTAB = new LevelCollection(new LevelListViewForTab());
                Server.levels.ForEach(l => lcTAB.Add(l));

                dgvPlayers.Invalidate();
                dgvMapsTab.DataSource = null;
                dgvMapsTab.DataSource = lcTAB;
                if (selected2 != null)
                {
                    foreach (DataGridViewRow row in from l in Server.levels from DataGridViewRow row in dgvMapsTab.Rows where Equals(row.Cells[0].Value, selected2) select row)
                        row.Selected = true;
                }

                dgvMapsTab.Refresh();
            }
        }