Пример #1
0
        public override VikingState TakeSeat(Chair chair)
        {
            // Reserve the chair
            viking.CurrentChair = chair;
            chair.OnVikingTakeChair(viking);

            viking.TakingSeat?.Invoke();
            return(new TakingSeatVikingState(viking, chair));
        }
        private VikingState TakeRandomSeat()
        {
            Chair chair = Table.GetRandomEmptyChair();

            if (chair != null)
            {
                viking.CurrentChair = chair;
                chair.OnVikingTakeChair(viking);
                return(new TakingSeatVikingState(viking, chair));
            }

            return(this);
        }