示例#1
0
        private void GridTroopsOrders_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex >= 0)
            {
                string clickedTroopsOrderName = GridTroopsOrders.Rows[e.RowIndex].Cells[1].Value.ToString();

                var clickedTroopOrder = _plemionaToolLocalData.TroopsOrders.Single(to => to.Name == clickedTroopsOrderName);

                if (clickedTroopOrder == _selectedTroopsOrder)
                {
                    _selectedTroopsOrder = null;
                    GridTroopsOrders.ClearSelection();
                }
                else
                {
                    _selectedTroopsOrder = clickedTroopOrder;
                }
            }
        }
示例#2
0
        private void GridTroopsOrders_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Delete)
            {
                if (_selectedTroopsOrder != null)
                {
                    _plemionaToolLocalData.TroopsOrders.Remove(_selectedTroopsOrder);

                    var selectedRow = GridTroopsOrders.Rows.Cast <DataGridViewRow>().Single(r => r.Cells[1].Value.ToString() == _selectedTroopsOrder.Name);

                    GridTroopsOrders.Rows.RemoveAt(selectedRow.Index);

                    FixGridNumbers(GridTroopsOrders);

                    GridTroopsOrders.ClearSelection();

                    _selectedTroopsOrder = null;
                }
            }
        }
示例#3
0
        public FrmTroopsOrder(IEnumerable <string> invalidNames, IEnumerable <TroopsTemplate> troopsTemplates, Troops ownTroops, TroopsOrder troopsOrderToEdition = null)
        {
            InitializeComponent();

            _invalidNames    = invalidNames;
            _troopsTemplates = troopsTemplates;
            _ownTroops       = ownTroops;

            _editionMode = troopsOrderToEdition != null;

            TroopsOrder = _editionMode ? troopsOrderToEdition : new TroopsOrder();

            CbxTroopsTemplate.Items.AddRange(_troopsTemplates.Select(tt => tt.Name).ToArray());

            if (_editionMode)
            {
                BtnDeletion.Visible = true;

                TbxName.Text = troopsOrderToEdition.Name;

                CbxTroopsTemplate.SelectedItem = troopsOrderToEdition.TroopsTemplate.Name;

                LbxCoordinates.Items.AddRange(troopsOrderToEdition.VillagesCoordinates.Select(vc => $"{vc.X}|{vc.Y}").ToArray());

                DtpckExecutionDate.Value = troopsOrderToEdition.ExecutionDate;

                CkbxEveryday.Checked = troopsOrderToEdition.Everyday;

                UpdateRequiredTroops();
            }
            else
            {
                CbxTroopsTemplate.SelectedIndex = 0;
            }

            BtnOk.Text = troopsOrderToEdition != null ? "Edit" : "Add";
        }