Ejemplo n.º 1
0
        public Adventure()
        {
            InitializeComponent();

            if (File.Exists(PLAYER_DATA_FILE_NAME))
            {
                _player = Player.CreatePlayerFromXmlstring(File.ReadAllText(PLAYER_DATA_FILE_NAME));
            }
            else
            {
                _player = Player.CreateDefaultPlayer();
            }

            lblHitPoints.DataBindings.Add("Text", _player, "CurrentHitPoints");
            lblGold.DataBindings.Add("Text", _player, "Gold");
            lblExperience.DataBindings.Add("Text", _player, "ExperiencePoints");
            lblLevel.DataBindings.Add("Text", _player, "Level");

            dgvInventory.RowHeadersVisible   = false;
            dgvInventory.AutoGenerateColumns = false;

            dgvInventory.DataSource = _player.Inventory;

            dgvInventory.Columns.Add(new DataGridViewTextBoxColumn
            {
                HeaderText       = "Name",
                Width            = 197,
                DataPropertyName = "Description"
            });

            dgvInventory.Columns.Add(new DataGridViewTextBoxColumn
            {
                HeaderText       = "Quantity",
                DataPropertyName = "Quantity"
            });

            dgvQuests.RowHeadersVisible   = false;
            dgvQuests.AutoGenerateColumns = false;

            dgvQuests.DataSource = _player.Quests;

            dgvQuests.Columns.Add(new DataGridViewTextBoxColumn
            {
                HeaderText       = "Name",
                Width            = 197,
                DataPropertyName = "Name"
            });

            dgvQuests.Columns.Add(new DataGridViewTextBoxColumn
            {
                HeaderText       = "Done?",
                DataPropertyName = "IsCompleted"
            });

            cboWeapons.DataSource    = _player.Weapons;
            cboWeapons.DisplayMember = "Name";
            cboWeapons.ValueMember   = "Id";

            if (_player.CurrentWeapon != null)
            {
                cboWeapons.SelectedItem = _player.CurrentWeapon;
            }

            cboWeapons.SelectedIndexChanged += cboWeapons_SelectedIndexChanged;

            cboPotions.DataSource    = _player.Potions;
            cboPotions.DisplayMember = "Name";
            cboPotions.ValueMember   = "Id";

            _player.PropertyChanged += PlayerOnPropertyChanged;
            _player.OnMessage       += DisplayMessage;

            _player.MoveTo(_player.CurrentLocation);
        }