public void AddOpponentsChamber(Chamber chamber) { if (opponentsChambers == null) { opponentsChambers = new HashSet <Chamber>(); } int countBefore = opponentsChambers.Count; opponentsChambers.Add(chamber); int countAfter = opponentsChambers.Count; if (countAfter != countBefore) { if (countBefore == 1) { // It has just become a cut vertex. Update both chambers accordingly: foreach (Chamber existingChamber in opponentsChambers) { existingChamber.AddCutVertex(this); } } else if (countBefore > 1) { // It was already a cut vertex. So just add as a cut vertex to the new component: chamber.AddCutVertex(this); } // If in use, update the string listing of the components: if (opponentsChambersListing != null) { opponentsChambersListing = CalculateOpponentsChambersListing(); } } }
public void AddChamber(Chamber chamber, PlayerType player) { switch (player) { case PlayerType.You: AddYourChamber(chamber); break; case PlayerType.Opponent: AddOpponentsChamber(chamber); break; } }
public void AddAdjacentEnemyChamber(Chamber enemyChamber) { enemyChambers.Add(enemyChamber); }