Exemplo n.º 1
0
 public static CollectorBuilder ReadMemoryWith <T>
     (this CollectorBuilder builder)
     where T : DirectMemoryReader
 {
     builder.Builder.RegisterType <T>().As <DirectMemoryReader>();
     return(builder);
 }
Exemplo n.º 2
0
 protected override bool BuildCollectScope(CollectorBuilder builder, OsuProcessMatchedEvent @event)
 => builder
 .ReadMemoryWith <WindowsReader>()
 .UseOsuProcessEvent(@event)
 .UseCollectorManager(manager => manager
                      .Collect <Beatmap>()
                      .Collect <GameMode>()
                      .Collect <GameStatus>()
                      .Collect <GlobalGameModerator>()
                      .Collect <Playing>()
                      .Collect <MultiplayerBeatmapId>()
                      )
 .Build();
 public static CollectorBuilder UseOsuProcessEvent(this CollectorBuilder builder, OsuProcessMatchedEvent @event)
 {
     builder.Builder.RegisterInstance(@event).SingleInstance();
     builder.Builder.Register((ctx) =>
     {
         var process = Process.GetProcessById(ctx.Resolve <OsuProcessMatchedEvent>().ProcessId);
         if (process == null || process.HasExited)
         {
             throw new EntryPointNotFoundException();
         }
         return(process);
     }).As <Process>();
     return(builder);
 }