Exemple #1
0
        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();
        }
Exemple #2
0
        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();
            };
        }