static void Main(string[] args) { IRouteStrategy b = new BicycleStrategy(); IRouteStrategy f = new WalkingStrategy(); IRouteStrategy p = new PublicTransportStrategy(); IRouteStrategy a = new AutoStrategy(); Navigator navigator = new Navigator(b); navigator.ExecuteAlgorithm(); navigator.RouteStrategy = f; navigator.ExecuteAlgorithm(); Console.ReadLine(); }
private void AddMainStreamEventHandlers(AutoStrategy strategy) { strategy.RequestMainStream += (s, e) => { if (MainStreamState != MainStreamState.Attack) { return; } MainStreamState = strategy.ThisState(); Notify(); }; strategy.ReleaseMainStream += (s, e) => { if (MainStreamState == MainStreamState.Attack) { MainStreamState = MainStreamState.PickItem; } MainStreamState = MainStreamState.Attack; Notify(); }; }