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);
 }