/// <summary> Call of GetWeaveItem(..) can be speed up by NOT reading the weave file on any call. </summary> /// <param name="dispatcher"></param> /// <param name="x"></param> /// <param name="y"></param> /// <returns></returns> public static TrackWeaveItem GetWeaveItem(Dispatcher.Dispatcher dispatcher, int x, int y) { var m = dispatcher.Model as ViewModels.RailwayEssentialModel; if (m == null) { return(null); } var prj = m.Project; var weaveFilepath = Path.Combine(prj.Dirpath, prj.Track.Weave); TrackWeaveItems weaverItems = new TrackWeaveItems(); if (!weaverItems.Load(weaveFilepath)) { return(null); } foreach (var e in weaverItems.Items) { if (e?.VisuX == x && e.VisuY == y) { return(e); } } return(null); }
public void Simple() { var unity = new UnityContainer(); var tracker = new Tracker(); unity.RegisterInstance(tracker); var registrator = new HandlerRegistry(); registrator.Register(Assembly.GetExecutingAssembly(), new string[] {}); var dispatcher = new Dispatcher.Dispatcher(unity, registrator, 1); var message = new SimpleMessage1(); dispatcher.Dispatch(message); var message2 = new SimpleMessage2(); dispatcher.Dispatch(message2); Assert.AreEqual(2, tracker.Handlers.Count); Assert.AreEqual(typeof(SimpleMessage1), tracker.Handlers[0]); Assert.AreEqual(typeof(SimpleMessage2), tracker.Handlers[1]); }
public static BookDataStore Get(Dispatcher.Dispatcher dispatcher) { if (instance == null) { instance = new BookDataStore(dispatcher); } return(instance); }
private BookDataStore(Dispatcher.Dispatcher dispacher) { this.dispacher = dispacher; Readingbook = new ReadingBookData(); Endbook = new EndingBookData(); readingBooks = new List <ReadingBookData>(); this.dispacher.Action += OnAction; }
public static ActionCreator Get(Dispatcher.Dispatcher dispatcher) { if (instance == null) { instance = new ActionCreator(dispatcher); } return(instance); }
private void MServer_ConnectionAccepted(object sender, System.Net.Sockets.Socket acceptedSocket) { Console.WriteLine("Slave Slave client connected !"); slave = new Client(acceptedSocket, new Logger(), true); mDispatcher = new Dispatcher.Dispatcher(); slave.DataReceived += Slave_DataReceived; SendMessage(new ProtocolRequired().InitProtocolRequired(1878, 1890)); Ready(this, new EventArgs()); }
public BeginPageVm() { dispatcher = new Dispatcher.Dispatcher(); actionCreator = ActionCreator.Get(dispatcher); bookDataStore = BookDataStore.Get(dispatcher); AddCommand.action = () => actionCreator.Begin(BookTitle); EndCommand.action = () => actionCreator.End(BookTitle); bookDataStore.ReadingBookEventHandler += BookDataStore_ReadingBookEventHandler; bookDataStore.EndBookEventHandler += BookDataStore_EndBookEventHandler; }
public static TrackInformationCore.IItem GetObject(Dispatcher.Dispatcher dispatcher, Track track, int x, int y ) { var trackInfo = track.Get(x, y); if (trackInfo == null) { return(null); } var weaver = dispatcher.Weaver; if (weaver != null) { var ws = weaver.WovenSeam; if (ws != null) { foreach (var seam in ws) { if (seam == null) { continue; } foreach (TrackInfo key in seam.TrackObjects.Keys) { if (key == null) { continue; } if (key.X == trackInfo.X && key.Y == trackInfo.Y && key.ThemeId == trackInfo.ThemeId) { return(seam.ObjectItem); } } } } } return(null); }
public DispatcherController(ILogger <ChannelController> logger, Dispatcher.Dispatcher dispatcher) { _logger = logger; _dispatcher = dispatcher; }
public IScheduler CreateScheduler() { Func <DateTime> now = () => DateTime.Now; var eventStream = new EventStream(_eventSinks, _exceptionLogger, now); var recoverableAction = new RecoverableAction(this, eventStream); var delegatingPersistenceStore = new DelegatingPersistenceStore(_persistenceProvider); var jobMutation = new JobMutator(eventStream, delegatingPersistenceStore); var queueConfiguration = new JobQueueFactory( delegatingPersistenceStore, this, eventStream, recoverableAction, jobMutation).Create(); var router = new JobRouter(queueConfiguration); var methodBinder = new MethodBinder(); var continuationDispatcher = new ContinuationDispatcher(router, jobMutation, delegatingPersistenceStore, recoverableAction); var activityToContinuationConverter = new ActivityToContinuationConverter(now); var runningTransition = new RunningTransition(jobMutation); var failedTransition = new FailedTransition(this, jobMutation, now); var endTransition = new EndTransition(delegatingPersistenceStore, jobMutation, continuationDispatcher); var continuationLiveness = new ContinuationLiveness(delegatingPersistenceStore, continuationDispatcher); var coordinator = new JobCoordinator(eventStream, recoverableAction); var waitingForChildrenTransition = new WaitingForChildrenTransition( delegatingPersistenceStore, continuationDispatcher, activityToContinuationConverter, recoverableAction, jobMutation); var changeState = new StatusChanger(eventStream, runningTransition, failedTransition, endTransition, waitingForChildrenTransition, jobMutation); var failedJobQueue = new FailedJobQueue(this, delegatingPersistenceStore, now, eventStream, router); var errorHandlingPolicy = new ErrorHandlingPolicy(this, coordinator, changeState, failedJobQueue, recoverableAction); var exceptionFilterDispatcher = new ExceptionFilterDispatcher(eventStream); var jobDispatcher = new Dispatcher.Dispatcher(_dependencyResolver, coordinator, errorHandlingPolicy, methodBinder, eventStream, recoverableAction, changeState, continuationLiveness, exceptionFilterDispatcher); var jobPumps = queueConfiguration .ActivitySpecificQueues .Values .Select(q => new JobPump(jobDispatcher, eventStream, q)) .ToList(); jobPumps.Add(new JobPump(jobDispatcher, eventStream, queueConfiguration.Default)); return(new Scheduler( queueConfiguration, this, delegatingPersistenceStore, now, failedJobQueue, recoverableAction, router, activityToContinuationConverter, jobPumps, jobMutation)); }
public ActionCreator(Dispatcher.Dispatcher dispatcher) { this.dispatcher = dispatcher; }