Esempio n. 1
0
        private void cmdSwordsmen_Click(object sender, EventArgs e)
        {
            if (_town._isBuilt == true)
            {
                return;
            }

            if (_town._buildingKIds.ContainsKey((int)Heroes.Core.BuildingIdEnum.UpgBarracks))
            {
                return;
            }

            if (!_town._buildingKIds.ContainsKey((int)Heroes.Core.BuildingIdEnum.Barracks))
            {
                Heroes.Core.Building b2 = new Building();
                b2.CopyFrom((Heroes.Core.Building)Heroes.Core.Setting._buildings[(int)Heroes.Core.BuildingIdEnum.Barracks]);

                if (!b2.CanBuild(_town._player))
                {
                    MessageBox.Show("Cannot build this building.");
                    return;
                }

                b2.DeductResources(_town._player);

                b2._armyQty = b2.FirstGrowth();
                _town._buildingKIds.Add(b2._id, b2);
                _town._isBuilt = true;
                frmCastle.build.Add(b2._id, b2);

                this.DialogResult = DialogResult.OK;
                this.Close();
                return;
            }

            if (!_town._buildingKIds.ContainsKey((int)Heroes.Core.BuildingIdEnum.UpgBarracks))
            {
                // get basic building
                Heroes.Core.Building b1 = (Heroes.Core.Building)_town._buildingKIds[(int)Heroes.Core.BuildingIdEnum.Barracks];

                Heroes.Core.Building b2 = new Building();
                b2.CopyFrom((Heroes.Core.Building)Heroes.Core.Setting._buildings[(int)Heroes.Core.BuildingIdEnum.UpgBarracks]);

                if (!b2.CanBuild(_town._player))
                {
                    MessageBox.Show("Cannot build this building.");
                    return;
                }

                b2.DeductResources(_town._player);

                b2._armyQty = b1._armyQty;
                _town._buildingKIds.Add(b2._id, b2);
                _town._isBuilt = true;

                // remove basic building
                _town._buildingKIds.Remove((int)Heroes.Core.BuildingIdEnum.Barracks);

                frmCastle.build.Add(b2._id, b2);

                this.DialogResult = DialogResult.OK;
                this.Close();
                return;
            }
            this.Close();
        }