public override void OnEnter(Telephone phone) { Console.WriteLine("Now entering state Calling"); phone.CallNumber(); phone.MicOn = true; phone.Connection = true; this.OnExit(phone); }
public override void HandleDigitBtnPressed(Telephone phone, int digit) { Console.WriteLine($"Now adding {digit} to number"); phone.AddDigitToDisplay(digit); string output = ""; foreach (int number in phone.CurrentNumbers) { output += number; } Console.WriteLine(output); }
public void HandleMuteBtnPressed(Telephone e) { TelephoneState state = e.GetState(); if (state.GetType() == typeof(Connected)) { middleman(e); } else { Console.WriteLine("Cannot control mic when not in call"); } }
static void Main(string[] args) { Telephone phone = new Telephone(new Idle(), new UnMutedState()); User AGRI = new User(phone); while (true) { Console.WriteLine("Options are: 0-9 for press digit and c for press call button"); switch (Console.ReadKey().KeyChar) { case char n when(Char.IsDigit(n)): AGRI.PressDigitBtn((int)n - 48); break; case char n when(n == 'c' || n == 'C'): AGRI.PressCallBtn(); break; case char n when(n == 'd' || n == 'D'): phone.OnDisconnectEvent(); break; case char n when(n == 'm' || n == 'M'): AGRI.PressMuteBtn(); break; default: Console.WriteLine("Remeber your options"); break; } } }
public User(Telephone newPhoneWhoDis) { phone = newPhoneWhoDis; }
public override void OnEnter(Telephone phone) { Console.WriteLine("Now entering state Disconnecting"); phone.Connection = false; this.OnExit(phone); }
public override void OnExit(Telephone phone) { Console.WriteLine("Now exiting state Disconnecting"); phone.SetState(new Idle()); }
public abstract void OnEnter(Telephone phone);
public override void OnEnter(Telephone phone) { Console.WriteLine($"Now entering state connected. Phone connection state is {phone.Connection}"); }
public override void OnExit(Telephone phone) { Console.WriteLine("Now exiting state Calling"); }
public abstract void OnExit(Telephone phone);
public override void OnEnter(Telephone phone) { phone.CurrentNumbers.Clear(); Console.WriteLine("Now entering state idle"); }
public override void HandleCallBtnPressed(Telephone phone) { Console.WriteLine($"Calling {phone.CurrentNumbers}"); phone.SetState(new Calling()); }
public override void OnExit(Telephone phone) { Console.WriteLine("Now exiting state Calling"); phone.SetState(new Connected()); }
public override void OnEnter(Telephone phone) { Console.WriteLine("Phone is now muted"); phone.MicOn = false; }
public override void middleman(Telephone phone) { phone.SetStateMicrphone(new UnMutedState()); }
public virtual void HandleCallBtnPressed(Telephone phone) { Console.WriteLine($"Deafult implementation of {nameof(HandleCallBtnPressed)}"); }
public override void HandleCallBtnPressed(Telephone phone) { phone.MicOn = false; phone.SetState(new Disconnecting()); }
public virtual void HandleDigitBtnPressed(Telephone phone, int digit) { Console.WriteLine($"Default implementation of {nameof(HandleDigitBtnPressed)}"); }
public void HandleDisconnect(Telephone phone, string errormsg) { Console.WriteLine(errormsg); phone.SetState(new Disconnecting()); }
public abstract void middleman(Telephone e);