/// <summary> /// Constructs the PlayersForm from a PlayerList /// </summary> /// <param name="list">contains a list of the players</param> public PlayersForm(PlayerList list) { InitializeComponent(); playerList = list; source = new BindingSource(); // Because PlayerComponents do not encapsulate all of their data within fields, we must adapt them to // do so that the UI can bind itself to the data source. // The adapter merely places all of the relevant data in fields, and allows us to change the player list before // commiting the changes to the actual player list. foreach (PlayerComponent player in list.GetChildren()) { PlayerDataGridAdapter adapter = new PlayerDataGridAdapter(player, playerList); source.Add(adapter); } // Initialize Player List to bind data properly. uiPlayerList.AutoGenerateColumns = false; uiPlayerList.AutoSize = true; uiPlayerList.DataSource = source; name.DataPropertyName = "Player_Name"; race.DataPropertyName = "RaceMember"; gold.DataPropertyName = "GoldMember"; wood.DataPropertyName = "WoodMember"; metal.DataPropertyName = "MetalMember"; }
private void removePlayerButton_Click(object sender, EventArgs e) { foreach (DataGridViewRow row in uiPlayerList.SelectedRows) { PlayerDataGridAdapter adapter = (PlayerDataGridAdapter)row.DataBoundItem; adapter.RemovedMember = true; row.Selected = false; row.DefaultCellStyle.BackColor = Color.Red; } }
public void Init() { playerList = new PlayerList(); adapter = new PlayerDataGridAdapter(new PlayerComponent(), playerList); adapter.Player_Name = "Player 1"; adapter.RaceMember = "Human"; adapter.GoldMember = 10; adapter.MetalMember = 20; adapter.WoodMember = 0; adapter.RemovedMember = false; adapter.AddedMember = true; }
private void addPlayerButton_Click(object sender, EventArgs e) { PlayerDataGridAdapter adapter = new PlayerDataGridAdapter(new PlayerComponent(), playerList); // Default Values adapter.RaceMember = "Human"; adapter.AddedMember = true; adapter.GoldMember = 100; adapter.WoodMember = 100; adapter.MetalMember = 100; source.Add(adapter); // Move Focus to added Player source.MoveLast(); uiPlayerList.Focus(); }
private PlayerDataGridAdapter generateValidAdapter() { PlayerDataGridAdapter adapter = new PlayerDataGridAdapter(new PlayerComponent(), playerList); adapter.Player_Name = "Player 1"; adapter.RaceMember = "Human"; adapter.GoldMember = 10; adapter.MetalMember = 20; adapter.WoodMember = 0; adapter.RemovedMember = false; adapter.AddedMember = true; return adapter; }
public void TestDoUpdatePlayerWithValidInput() { PlayerComponent playerToUpdate = buildValidPlayer(); playerList.AddChild(playerToUpdate); adapter = new PlayerDataGridAdapter(playerToUpdate, playerList); adapter.Player_Name = adapter.Player_Name + "updateAppended"; adapter.RaceMember = "Human"; // buildValidPlayer initializes as Zombie. adapter.GoldMember += 10; adapter.MetalMember += 10; adapter.WoodMember += 10; adapter.Do(); Assert.AreEqual(adapter.Player_Name, playerToUpdate.Name, "PlayerDataGridAdapter does not update name properly."); Assert.AreEqual(adapter.RaceMember, playerToUpdate.Race, "PlayerDataGridAdapter does not update race properly."); Assert.AreEqual(adapter.GoldMember, playerToUpdate.Gold, "PlayerDataGridAdapter does not update gold properly."); Assert.AreEqual(adapter.WoodMember, playerToUpdate.Wood, "PlayerDataGridAdapter does not update wood properly."); Assert.AreEqual(adapter.MetalMember, playerToUpdate.Metal, "PlayerDataGridAdapter does not update metal properly."); }
public void TestDoRemovePlayerWithValidInput() { PlayerComponent playerToRemove = buildValidPlayer(); playerList.AddChild(playerToRemove); adapter = new PlayerDataGridAdapter(playerToRemove, playerList); adapter.RemovedMember = true; adapter.Do(); Assert.AreEqual(0, playerList.GetChildren().Count, "PlayerDataGridAdapter does not remove properly."); }