コード例 #1
0
        public TestGame()
            : base()
        {
            graphics = new GraphicsDeviceManager(this);
            graphics.PreparingDeviceSettings       += new EventHandler <PreparingDeviceSettingsEventArgs>(graphics_PreparingDeviceSettings);
            graphics.PreferredBackBufferWidth       = 1920;
            graphics.PreferredBackBufferHeight      = 1080;
            graphics.SynchronizeWithVerticalRetrace = !false;
            graphics.IsFullScreen = false;

            Content.RootDirectory = "Content";

            IsMouseVisible  = true;
            IsFixedTimeStep = false;
            //TargetElapsedTime = TimeSpan.FromSeconds(1f / 30f);
            DisplayUI = true;

            Kernel = NinjectKernel.Instance;
            NinjectKernel.BindGame(this);

            previousKeyboard = Keyboard.GetState();

            framerate = new StreamWriter(File.OpenWrite("framerate.csv"));
            Exiting  += new EventHandler <EventArgs>(TestGame_Exiting);
        }
コード例 #2
0
        public Bitmap GetBitmap()
        {
            // get dependencies
            var logService = NinjectKernel.Get <ILogService>();

            logService.TraceEnter();
            try
            {
                logService.Trace($@"Checking if bitmap for ""{_path}"" has already been cached...");
                if (_bitmap != null)
                {
                    logService.Trace($@"Bitmap for ""{_path}"" has been cached.  Returning...");
                    return(_bitmap);
                }

                logService.Trace($@"Loading ""{_path}"" from disk...");
                _bitmap = (Bitmap)Image.FromStream(GetFileStream());

                logService.Trace($@"Returning a copy of ""{_path}""...");
                return(new Bitmap(_bitmap));
            }
            finally
            {
                logService.TraceExit();
            }
        }
コード例 #3
0
 protected override void OnStartup(StartupEventArgs e)
 {
     base.OnStartup(e);
     kernel             = NinjectKernel.CreateKernel();
     Current.MainWindow = kernel.Get <MainWindow>();
     Current.MainWindow.Show();
 }
コード例 #4
0
 public static IIocContainer GetIocContainer()
 {
     var standardKernel = new StandardKernel(
                             new GeoDataToolkitIoCModule(),
                             new GeoDataToolkitFGDBIoCModule());
     var kernel = new NinjectKernel(standardKernel);
     return kernel;
 }
コード例 #5
0
        public FolderWatcher()
        {
            // create dependencies
            _logService = NinjectKernel.Get <ILogService>();

            // initialise variables
            _fileSystemWatchers = new List <FileSystemWatcher>();
            _observers          = new List <IFolderObserver>();
        }
コード例 #6
0
        public static IIocContainer GetIocContainer()
        {
            var standardKernel = new StandardKernel(
                new GeoDataToolkitIoCModule(),
                new GeoDataToolkitFGDBIoCModule());
            var kernel = new NinjectKernel(standardKernel);

            return(kernel);
        }
コード例 #7
0
        public ListViewItem()
        {
            // get dependencies
            _logService    = NinjectKernel.Get <ILogService>();
            _taskScheduler = NinjectKernel.Get <TaskScheduler>();

            // initialise variables
            _isMetadataLoaded = false;
            _isSaved          = false;
        }
コード例 #8
0
ファイル: Program.cs プロジェクト: NPerederiy/e-diary
 static void Main(string[] args)
 {
     NinjectKernel.SetupKernel();
     using (WebApp.Start <Startup>(serverURI))
     {
         Console.ForegroundColor = ConsoleColor.White;
         Console.WriteLine($"Local server is listening on {serverURI}");
         Console.WriteLine("Press any key to stop it.\n");
         Console.ReadKey();
     }
 }
コード例 #9
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            var form = NinjectKernel.Get <formLogIn>();

            //form.FormClosed += MainForm_Closed;
            //form.Show();
            Application.Run(form);
        }
コード例 #10
0
        public ExifData GetExifData()
        {
            // create dependencies
            var logService = NinjectKernel.Get <ILogService>();

            // create variables
            var stopWatch = Stopwatch.StartNew();

            logService.TraceEnter();
            try
            {
                // create the object to return
                var exifData = new Models.ExifData();

                using (var fs = GetFileStream())
                {
                    var bitmapSource =
                        BitmapFrame.Create(fs, BitmapCreateOptions.DelayCreation, BitmapCacheOption.None);
                    if (!(bitmapSource.Metadata is BitmapMetadata bitmapMetadata))
                    {
                        return(exifData);
                    }

                    // try and parse the date
                    exifData.DateTaken = !DateTime.TryParse(bitmapMetadata.DateTaken, out var dateTaken)
                        ? bitmapMetadata.DateTaken
                        : dateTaken.Date.ToString(ShortDateFormat);

                    // is there a latitude on the image
                    exifData.Latitude = GetLatitude(bitmapMetadata);
                    if (exifData.Latitude.HasValue)
                    {
                        exifData.Longitude = GetLongitude(bitmapMetadata);
                    }

                    try
                    {
                        // is there a title on the image?
                        exifData.Title = bitmapMetadata.Title;
                    }
                    catch (NotSupportedException)
                    {
                        // ignore this exception
                    }
                }

                return(exifData);
            }
            finally
            {
                logService.TraceExit(stopWatch);
            }
        }
コード例 #11
0
        /// <summary>
        ///     Executes 'exit' command
        /// </summary>
        /// <param name="commandInfo"></param>
        /// <returns></returns>
        public override bool Execute(CommandInfo commandInfo)
        {
            Logger.Info($"User {Session.LoggedUser.Email} exited");

            var authenService = NinjectKernel.Get <AuthenticationService>();

            authenService.LogOut(SessionKey);

            Exited?.Invoke(this, new EventArgs());

            return(true);
        }
コード例 #12
0
        protected override void OnCreate(Bundle bundle)
        {
            TabLayoutResource = Resource.Layout.Tabbar;
            ToolbarResource   = Resource.Layout.Toolbar;

            base.OnCreate(bundle);

            Xamarin.Forms.Forms.Init(this, bundle);

            NinjectKernel.Setup();

            LoadApplication(new App());
        }
コード例 #13
0
        public Bitmap GetPreview()
        {
            // get dependencies
            var logService = NinjectKernel.Get <ILogService>();

            logService.TraceEnter();
            try
            {
                logService.Trace($@"Checking if preview for ""{_path}"" has already been cached...");
                if (_preview != null)
                {
                    logService.Trace($@"Bitmap for ""{_path}"" has been cached.  Returning...");
                    return(_preview);
                }

                logService.Trace($@"Getting bitmap for ""{_path}""...");
                var bitmap = GetBitmap();

                logService.Trace($"Resizing to fit {PreviewWidth}px x{PreviewHeight}px canvas...");
                _preview = new Bitmap(PreviewWidth, PreviewHeight);

                logService.Trace("Calculating size of resized image...");
                var aspectRatio      = Math.Min(PreviewWidth / (float)bitmap.Width, PreviewHeight / (float)bitmap.Height);
                var newPreviewWidth  = bitmap.Width * aspectRatio;
                var newPreviewHeight = bitmap.Height * aspectRatio;
                var newX             = (PreviewWidth - newPreviewWidth) / 2;
                var newY             = (PreviewHeight - newPreviewHeight) / 2;

                logService.Trace("Drawing resized image...");
                using (var graphics = Graphics.FromImage(_preview))
                {
                    // initialise the pen
                    graphics.SmoothingMode      = SmoothingMode.HighSpeed;
                    graphics.CompositingQuality = CompositingQuality.HighSpeed;
                    graphics.InterpolationMode  = InterpolationMode.Low;

                    // draw the black background
                    graphics.FillRectangle(new SolidBrush(Color.Black), 0, 0, PreviewWidth, PreviewHeight);

                    // now draw the image over the top
                    graphics.DrawImage(bitmap, newX, newY, newPreviewWidth, newPreviewHeight);
                }


                return(_bitmap);
            }
            finally
            {
                logService.TraceExit();
            }
        }
コード例 #14
0
        private Stream GetFileStream()
        {
            // create dependencies
            var logService = NinjectKernel.Get <ILogService>();

            // create variables
            var stopWatch = Stopwatch.StartNew();

            logService.TraceEnter();
            try
            {
                logService.Trace($@"Checking if file stream for ""{_path}"" has already been cached...");
                if (_fileStream != null)
                {
                    logService.Trace($@"File stream for ""{_path}"" has been cached.  Returning...");
                    _fileStream.Position = 0;
                    return(_fileStream);
                }

                var count = 0;
                while (true)
                {
                    try
                    {
                        logService.Trace($@"Trying to open ""{_path}"".  Count = {count}...");
                        _fileStream = new FileStream(_path, FileMode.Open, FileAccess.Read, FileShare.Read);

                        return(_fileStream);
                    }
                    catch (IOException ex)
                    {
                        if (count++ == 30)
                        {
                            throw;
                        }

                        Thread.Sleep(1000);
                    }
                }
            }
            finally
            {
                logService.TraceExit(stopWatch);
            }
        }
コード例 #15
0
ファイル: Game.cs プロジェクト: 12-South-Studios/realmmud
        public void OnInit(DictionaryAtom initAtom)
        {
            try
            {
                NinjectKernel = initAtom.GetObject("Ninject.Kernel").CastAs <IKernel>();
                initAtom.Set("Logger", Logger);
                InitBooleanSet = new BooleanSet("OnGameInitialize", Game_OnInitializationComplete);

                NinjectKernel.Load(_ninjectGameModules.Select(
                                       moduleType => (NinjectGameModule)Activator.CreateInstance(moduleType, initAtom, InitBooleanSet)));

                EventMgr  = (EventManager)NinjectKernel.Get <IEventManager>();
                LuaMgr    = (LuaManager)NinjectKernel.Get <ILuaManager>();
                DbMgr     = (DatabaseManager)NinjectKernel.Get <IDatabaseManager>();
                StaticMgr = (StaticDataManager)NinjectKernel.Get <IStaticDataManager>();
                EntityMgr = (EntityManager)NinjectKernel.Get <IEntityManager>();
                EntityMgr.EntityInitializer.RegisterEntityTypes(_entityTypes);
                ChannelMgr = (ChannelManager)NinjectKernel.Get <IChannelManager>();
                CmdMgr     = (CommandManager)NinjectKernel.Get <ICommandManager>();
                PathMgr    = (PathManager)NinjectKernel.Get <IPathManager>();
                TimeMgr    = (TimeManager)NinjectKernel.Get <ITimeManager>();
                NetMgr     = (NetworkManager)NinjectKernel.Get <INetworkManager>();
                // todo DataManager?
                // todo CombatManager ?
                LoopProcessor = (GameLoopProcessor)NinjectKernel.Get <ILoopProcessor>();

                Contexts = new List <IContext> {
                    new PropertyContext(this)
                };

                // Everything that needs early initialization done before this line
                // Now, lets begin regular setup (this will include game data)
                Logger.Debug("Completed initialization of Managers, throwing OnGameInitialize event.");
                EventMgr.ThrowEvent <OnGameInitialize>(this, new EventTable
                {
                    { "BooleanSet", InitBooleanSet },
                    { "InitAtom", initAtom }
                });
            }
            catch (Exception ex)
            {
                ex.Handle <InitializationException>(ExceptionHandlingOptions.RecordAndThrow, Logger);
            }
        }
コード例 #16
0
        private static float?GetLatitude(BitmapMetadata bitmapMetadata)
        {
            // create dependencies
            var logService = NinjectKernel.Get <ILogService>();

            logService.TraceEnter();
            try
            {
                logService.Trace("Checking if file has latitude information...");
                if (!(bitmapMetadata.GetQuery("System.GPS.Latitude.Proxy") is string latitudeRef))
                {
                    logService.Trace("File does not have latitude information.  Exiting...");
                    return(null);
                }

                logService.Trace($"Parsing latitude information \"{latitudeRef}\"...");
                var latitudeMatch = Regex.Match(latitudeRef, @"^(\d+),([0123456789.]+)([SN])");
                if (!latitudeMatch.Success)
                {
                    logService.Trace($"Unable to parse \"{latitudeRef}\".  Exiting...");
                    return(null);
                }

                logService.Trace("Converting to a float...");
                var latitudeDecimal = float.Parse(latitudeMatch.Groups[1].Value) +
                                      float.Parse(latitudeMatch.Groups[2].Value) / 60;
                if (latitudeMatch.Groups[3].Value == "S")
                {
                    latitudeDecimal *= -1;
                }

                return(latitudeDecimal);
            }
            catch (NotSupportedException)
            {
                logService.Trace("Unable to query for latitude.  Returning...");
                return(null);
            }
            finally
            {
                logService.TraceExit();
            }
        }
コード例 #17
0
        public void Watch(string path)
        {
            // create dependencies
            var logService = NinjectKernel.Get <ILogService>();

            logService.TraceEnter();
            try
            {
                _logService.Trace($@"Watching for changes to ""{path}""...");
                _fileSystemWatchers.Add(CreateFileSystemWatcher(path));
            }
            catch (Exception ex)
            {
                OnError(ex);
            }
            finally
            {
                logService.TraceExit();
            }
        }
コード例 #18
0
        private void FileSystemWatcher_Error(object sender, ErrorEventArgs e)
        {
            // create dependencies
            var logService = NinjectKernel.Get <ILogService>();

            logService.TraceEnter();
            try
            {
                logService.Trace("Bubbling error up...");
                OnError(e.GetException());
            }
            catch (Exception)
            {
                // ignored
            }
            finally
            {
                logService.TraceExit();
            }
        }
コード例 #19
0
ファイル: App.xaml.cs プロジェクト: jcapellman/Groovy-Music
        protected override void OnLaunched(LaunchActivatedEventArgs e)
        {
            if (!(Window.Current.Content is Frame rootFrame))
            {
                rootFrame = new Frame();

                rootFrame.NavigationFailed += OnNavigationFailed;

                Xamarin.Forms.Forms.Init(e);

                NinjectKernel.Setup();

                Window.Current.Content = rootFrame;
            }

            if (rootFrame.Content == null)
            {
                rootFrame.Navigate(typeof(MainPage), e.Arguments);
            }

            Window.Current.Activate();
        }
コード例 #20
0
        private void FileSystemWatcher_Created(object sender, FileSystemEventArgs e)
        {
            var logService = NinjectKernel.Get <ILogService>();

            logService.TraceEnter();
            try
            {
                logService.Trace($@"Notifying {_observers.Count} observers of new file {e.FullPath}...");
                foreach (var observer in _observers)
                {
                    observer.OnCreated(e.FullPath);
                }
            }
            catch (Exception ex)
            {
                OnError(ex);
            }
            finally
            {
                logService.TraceExit();
            }
        }
コード例 #21
0
        public void VerfifyNinjectBindings()
        {
            //Arrange
            var exceptions = new List <string>();
            var kernel     = NinjectKernel.CreateKernel();
            var bindings   = GetBindings(kernel);

            //Act
            foreach (var t in bindings)
            {
                try
                {
                    kernel.Get(t);
                }
                catch (Exception ex)
                {
                    exceptions.Add(ex.Message);
                }
            }
            //Assert
            exceptions.Should().BeEmpty();
        }
コード例 #22
0
        private void FileSystemWatcher_Renamed(object sender, RenamedEventArgs e)
        {
            // create dependencies
            var logService = NinjectKernel.Get <ILogService>();

            logService.TraceEnter();
            try
            {
                logService.Trace($@"Notifying {_observers.Count} observers of rename from ""{e.OldFullPath}"" to ""{e.FullPath}""...");
                foreach (var observer in _observers)
                {
                    observer.OnRenamed(e.OldFullPath, e.FullPath);
                }
            }
            catch (Exception ex)
            {
                OnError(ex);
            }
            finally
            {
                logService.TraceExit();
            }
        }
コード例 #23
0
 public FriendsHandler()
 {
     friendsService = NinjectKernel.Get <FriendsService>();
 }
コード例 #24
0
 public NinjectDependencyResolver()
 {
     ninjectKernel = new StandardKernel();
     NinjectKernel.AddBindings();
 }
コード例 #25
0
 public ExportToCvsHandler()
 {
     exportMassageService = NinjectKernel.Get <CsvMessageExportService>();
     exportUserService    = NinjectKernel.Get <CsvUserExportService>();
 }
コード例 #26
0
 public FindHandler()
 {
     userSearchService = NinjectKernel.Get <UserSearcher>();
 }
コード例 #27
0
 // Due to issue I reported here have to take site as a string:
 //  http://youtrack.jetbrains.com/issue/RSRP-292611
 protected HandHistoryParserBaseTests(string site)
 {
     Kernel = new NinjectKernel();
     SampleHandHistoryRepository = Kernel.Get <ISampleHandHistoryRepository>();
     Site = (SiteName)Enum.Parse(typeof(SiteName), site);
 }
コード例 #28
0
 public SignUpHandler()
 {
     UserValidator = NinjectKernel.Get <UserValidationService>();
 }
コード例 #29
0
        private void DoStartup(StartupEventArgs e)
        {
            var builder = new ConfigurationBuilder()
                          .SetBasePath(GetBasePath())
                          .AddJsonFile("appsettings.json", optional: false, reloadOnChange: false);

            var configuration = builder.Build();

            var logLevel  = configuration.GetSection(nameof(LogLevel));
            var logLevels = logLevel
                            .GetChildren()
                            .ToDictionary(cs => cs.Key, cs => LogLevel.FromString(cs.Value));

            RVis.Base.Logging.Configure(logLevels);

            var rvisUI = configuration.GetSection(nameof(RVisUI));

            RVisUI.MainWindow.ShowFrameRate = rvisUI.GetValue <bool>(
                nameof(RVisUI.MainWindow.ShowFrameRate)
                );
            DocRoot = rvisUI.GetValue <string>(
                nameof(DocRoot)
                );

            var doSaveSettings = false;

            if (Settings.Default.UpgradeRequired)
            {
                Settings.Default.Upgrade();
                Settings.Default.UpgradeRequired = false;
                doSaveSettings = true; // TODO: do it here?
            }

            Settings.Default.ApplyTheme();

            if (0 == Settings.Default.RThrottlingUseCores)
            {
                Settings.Default.RThrottlingUseCores = Environment.ProcessorCount - 1;
                doSaveSettings = true;
            }

            if (doSaveSettings)
            {
                Settings.Default.Save();
            }

            NinjectKernel.Load(new AppModule());

            ViewModelLocator.SubscribeToServiceTypes(
                GetType().Assembly,
                $"{nameof(RVisUI)}.{nameof(Ioc)}.{nameof(Mvvm)}"
                );

            ConfigureDiagnostics();

            Exit += HandleExit;

            AppService.Initialize();

            var appState = new AppState(AppSettings, AppService);

            NinjectKernel.Bind <IAppState>().ToConstant(appState);

            try
            {
                appState.Initialize(e.Args);
            }
            catch (Exception ex)
            {
                AppService.Notify(
                    nameof(AppState),
                    "Start-up",
                    ex
                    );
                Log.Error(ex);
                Shutdown(1);
            }
        }