{...} public void CallAccepted() {...} public void CallCancelled() {...} public void MediaDialogOpened() {...} public void LocalStreamCreated() {...} public void RemoteStreamCreated() {...} public void DismissMessage() {...} public void EndCall() {...} }
{ case StateMachineStates.Receiving: ... case StateMachineStates.Connecting: ... case StateMachineStates.ApprovingMedia: ... case StateMachineStates.WaitingForMedia: ... case StateMachineStates.WaitingForRemoteMedia: ... default: context.Warn("Undefined transition " + "'CallCancelled' from {0}", state); break; } } ... }
• The State Machine Compiler Charles W. Rapp et al. http://smc.sourceforge.net/ • Design Patterns: Elements of Reusable Object-Oriented Software Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides • Game Programming Patterns Bob Nystrom http://gameprogrammingpatterns.com/state.html