public Warden(ISwitchRoom switchRoom, List <IPrisoner> prisoners) : base(PersonOnShipRole.Warden)
 {
     SwitchRoom     = switchRoom;
     Prisoners      = prisoners;
     Pictures       = new List <SwitchRoomPicture>();
     AnnouncedHeard = Verify;
 }
        public override void Action(ISwitchRoom switchRoom, Notify Announce)
        {
            base.Action(switchRoom, Announce);

            if (GetCountOfTheNumbersFirstSwitchFlipped().Equals(GetNumberOfTimesToFlipFirstSwitch()))
            {
                MakeAnnouncement(Announce);
            }
        }
 public SwitchRoomPicture(IPrisoner prisoner, ISwitchRoom switchRoom)
 {
     Prisoner = prisoner;
     Switches = new List <ISwitch>();
     foreach (ISwitch sw in switchRoom.GetSwithes())
     {
         Switches.Add(sw.Clone() as ISwitch);
     }
 }
Beispiel #4
0
        public virtual void Action(ISwitchRoom switchRoom, Notify Announce)
        {
            if (CountOfTheNumbersFirstSwitchFlipped != NumberOfTimesToFlipFirstSwitch)
            {
                ISwitch firstSwitch = switchRoom.GetSwithes().Where(s => Convert.ToInt32(s.GetSwitchIdentifier().GetIdentifier()).Equals(1)).Select(s => s).First();

                if (firstSwitch.GetSwitchPosition() == FlipFirstSwitchPostion)
                {
                    firstSwitch.FlipSwitchPosition();
                    CountOfTheNumbersFirstSwitchFlipped++;
                    return;
                }
            }

            ISwitch secondSwitch = switchRoom.GetSwithes().Where(s => Convert.ToInt32(s.GetSwitchIdentifier().GetIdentifier()).Equals(2)).Select(s => s).First();

            secondSwitch.FlipSwitchPosition();
        }