using System;
using System.Collections.Generic;
using System.Text;
using Wayne.Lib.StateEngine;

namespace SinochemInternetPlusApp.States
{
    static class CONFIGURATION
    {
        public static void Config(StateTransitionLookup sl)
        {
            sl.AddTransition<Init, Idle>(TransitionType.Init);

            sl.AddTransition<Idle, Idle>(TransitionType.Done);

            //Enter into various modes
            sl.AddTransition<Idle, BasicMode.Composite>(TransitionType.NozzleLifted);
            sl.AddTransition<Idle, CarPlateMode.Composite>(TransitionType.CarPlateScanned);
            sl.AddTransition<Idle, ICCardMode.Composite>(TransitionType.CardInserted);

            //Exit from various modes
            sl.AddTransition<BasicMode.Composite, Idle>(BasicTransitionType.Done);
            sl.AddTransition<CarPlateMode.Composite, Idle>(BasicTransitionType.Done);
            sl.AddTransition<ICCardMode.Composite, Idle>(BasicTransitionType.Done);

            //Shutdown
            //sl.AddTransition<Idle, Final>(TransitionType.Shutdown);
        }
    }
}