Пример #1
0
        public void GenerateField(int horzCellsCount, int vertCellsCount)
        {
            if (horzCellsCount > 0 && vertCellsCount > 0)
            {
                int vertOffset, horzOffset = 0;

                for (int i = 0; i < horzCellsCount; i++)
                {
                    vertOffset = 0;

                    for (int j = 0; j < vertCellsCount; j++)
                    {
                        var newCell = new GameFieldCell()
                        {
                            Width  = _rectSize,
                            Height = _rectSize
                        };

                        newCell.PreviewMouseRightButtonUp += OnCellSelected;

                        GameFieldCells.Add(newCell);
                        Children.Add(newCell);
                        SetTop(newCell, vertOffset);
                        SetLeft(newCell, horzOffset);
                        vertOffset += _rectSize;
                    }

                    horzOffset += _rectSize;
                }
            }
        }
Пример #2
0
        private void AddUnitFromWidnowContext(AddUnitWindow addUnitWindow)
        {
            var addUnitWindowViewModel =
                addUnitWindow.DataContext as AddUnitWindowViewModel;

            UnitType unitType      = addUnitWindowViewModel.SelectedUnitType;
            int      numberOfUnits = addUnitWindowViewModel.NumberOfUnits;

            switch (unitType)
            {
            case UnitType.Swordsman:
                SelectedCell.UnitImage = SelectedPlayer.SwordsmanImage;
                break;

            case UnitType.Archer:
                SelectedCell.UnitImage = SelectedPlayer.ArcherImage;
                break;

            case UnitType.Peasant:
                SelectedCell.UnitImage = SelectedPlayer.PeasantImage;
                break;

            default:
                break;
            }

            SelectedPlayer.UnitStacks.Add(new UnitStack(unitType, numberOfUnits, SelectedCell));
            SelectedPlayer.UnitStacks[SelectedPlayer.UnitStacks.Count - 1].CellIndex = GameFieldCells.IndexOf(SelectedCell);
            SelectedCell.UnitStack = SelectedPlayer.UnitStacks.Last();
        }