Пример #1
0
        private void AddPlayerButton_Executed(object arg)
        {
            ActivePlayerButtonCommand = _setPlayerButton;

            _lockPlayerButtonSync = true;

            try
            {
                if (Settings.UsePlayersKeys == PlayerKeysModes.Joystick || Settings.UsePlayersKeys == PlayerKeysModes.Com)
                {
                    _buttonManager             = PlatformManager.Instance.ButtonManagerFactory.Create(Settings);
                    _buttonManager.KeyPressed += OnPlayerKeyPressed;
                    if (!_buttonManager.Run())
                    {
                        ActivePlayerButtonCommand = _addPlayerButton;
                        _buttonManager.Dispose();
                        _buttonManager = null;
                    }
                }
            }
            finally
            {
                _lockPlayerButtonSync = false;
            }
        }
Пример #2
0
        public GamepadOpenTk(
            GamePadCapabilities capabilities,
            IButtonManager buttonManager)
        {
            this.AnalogSticks = new IAnalogStick[]
            { this.primaryAnalogStick_, this.secondaryAnalogStick_ }
            .ToImmutableArray();

            this.primaryButton_   = buttonManager.New();
            this.secondaryButton_ = buttonManager.New();
            this.Buttons          = new IButton[] { this.primaryButton_, this.secondaryButton_ }
            .ToImmutableArray();
        }
Пример #3
0
        public Clock(IAlarm alarm, IDisplay display)
        {
            _alarm         = alarm;
            _buttonManager = new ButtonManager();
            _display       = display;
            _modeManager   = new ModeManager();
            _timeManager   = new TimeManager();
            _timer         = new SixtySecondTimer();

            _buttonManager.SetModeManager(_modeManager);
            _buttonManager.SetTimeManager(_timeManager);

            _timeManager.SetAlarm(_alarm);
            _timeManager.SetDisplay(_display);
            _timeManager.SetModeManager(_modeManager);
            _timer.SetTimeManager(_timeManager);
        }
Пример #4
0
        public void OnButtonsLeft()
        {
            if (!_lockPlayerButtonSync)
            {
                if (_activePlayerButtonCommand == _setPlayerButton)
                {
                    ActivePlayerButtonCommand = _addPlayerButton;

                    if (_mode == GameMode.Start && (Settings.UsePlayersKeys == PlayerKeysModes.Joystick || Settings.UsePlayersKeys == PlayerKeysModes.Com) && _buttonManager != null)
                    {
                        _buttonManager.Stop();
                        _buttonManager.Dispose();
                        _buttonManager = null;
                    }
                }
            }
        }
Пример #5
0
        public JoystickOpenTk(
            JoystickCapabilities capabilities,
            IButtonManager buttonManager)
        {
            this.axes_ = new MutableAxis[capabilities.AxisCount];
            for (var i = 0; i < this.axes_.Length; ++i)
            {
                this.axes_[i] = new MutableAxis();
            }
            this.Axes = this.axes_.ToImmutableArray <IAxis>();

            this.buttons_ = new IButtonImplementation[capabilities.ButtonCount];
            for (var i = 0; i < this.buttons_.Length; ++i)
            {
                this.buttons_[i] = buttonManager.New();
            }
            this.Buttons = this.buttons_.ToImmutableArray <IButton>();
        }
Пример #6
0
        internal bool OnPlayerKeyPressed(GameKey key)
        {
            // Задание кнопки для игрока (в настройках)
            // Может быть не только при this.engine.stage == GameStage.Before, но и в процессе игры
            if (_activePlayerButtonCommand == _setPlayerButton)
            {
                if (Settings.UsePlayersKeys == PlayerKeysModes.Joystick)
                {
                    ProcessNewPlayerButton(key);

                    _buttonManager.Stop();
                    _buttonManager.Dispose();
                    _buttonManager = null;
                }
            }

            return(false);
        }
Пример #7
0
 public GameManager
 (
     IButtonManager buttonManager,
     ICollisionManager collisionManager,
     IConfigManager configManager,
     IContentManager contentManager,
     IDeviceManager deviceManager,
     IImageManager imageManager,
     IInputManager inputManager,
     IQuestionManager questionManager,
     IRandomManager randomManager,
     IResolutionManager resolutionManager,
     IScoreManager scoreManager,
     IScreenManager screenManager,
     ISoundManager soundManager,
     ISpriteManager spriteManager,
     IStorageManager storageManager,
     ITextManager textManager,
     IThreadManager threadManager,
     IFileManager fileManager,
     ILogger logger
 )
 {
     ButtonManager     = buttonManager;
     CollisionManager  = collisionManager;
     ConfigManager     = configManager;
     ContentManager    = contentManager;
     DeviceManager     = deviceManager;
     ImageManager      = imageManager;
     InputManager      = inputManager;
     QuestionManager   = questionManager;
     RandomManager     = randomManager;
     ResolutionManager = resolutionManager;
     ScoreManager      = scoreManager;
     ScreenManager     = screenManager;
     SoundManager      = soundManager;
     SpriteManager     = spriteManager;
     StorageManager    = storageManager;
     TextManager       = textManager;
     ThreadManager     = threadManager;
     FileManager       = fileManager;
     Logger            = logger;
 }
Пример #8
0
#pragma warning restore 618
        public void TestFixtureTearDown()
        {
            ButtonManager     = null;
            CollisionManager  = null;
            ConfigManager     = null;
            ContentManager    = null;
            DeviceManager     = null;
            ImageManager      = null;
            InputManager      = null;
            QuestionManager   = null;
            RandomManager     = null;
            ResolutionManager = null;
            ScoreManager      = null;
            ScreenManager     = null;
            SoundManager      = null;
            SpriteManager     = null;
            StorageManager    = null;
            TextManager       = null;
            ThreadManager     = null;
            FileManager       = null;
            Logger            = null;
        }
Пример #9
0
#pragma warning restore 618
        public void TestFixtureSetUp()
        {
            ButtonManager     = MockRepository.GenerateStub <IButtonManager>();
            CollisionManager  = MockRepository.GenerateStub <ICollisionManager>();
            ConfigManager     = MockRepository.GenerateStub <IConfigManager>();
            ContentManager    = MockRepository.GenerateStub <IContentManager>();
            DeviceManager     = MockRepository.GenerateStub <IDeviceManager>();
            ImageManager      = MockRepository.GenerateStub <IImageManager>();
            InputManager      = MockRepository.GenerateStub <IInputManager>();
            QuestionManager   = MockRepository.GenerateStub <IQuestionManager>();
            RandomManager     = MockRepository.GenerateStub <IRandomManager>();
            ResolutionManager = MockRepository.GenerateStub <IResolutionManager>();
            ScoreManager      = MockRepository.GenerateStub <IScoreManager>();
            ScreenManager     = MockRepository.GenerateStub <IScreenManager>();
            SoundManager      = MockRepository.GenerateStub <ISoundManager>();
            SpriteManager     = MockRepository.GenerateStub <ISpriteManager>();
            StorageManager    = MockRepository.GenerateStub <IStorageManager>();
            TextManager       = MockRepository.GenerateStub <ITextManager>();
            ThreadManager     = MockRepository.GenerateStub <IThreadManager>();
            FileManager       = MockRepository.GenerateStub <IFileManager>();
            Logger            = MockRepository.GenerateStub <ILogger>();
        }
Пример #10
0
 public JoystickManagerOpenTk(IButtonManager buttonManager)
 {
     this.buttonManager_ = buttonManager;
     this.Poll();
 }
Пример #11
0
 public KeyboardOpenTk(IButtonManager buttonManager)
 {
     this.buttonManager_ = buttonManager;
 }
Пример #12
0
 public GamepadManagerOpenTk(IButtonManager buttonManager)
 {
     this.buttonManager_ = buttonManager;
     this.Poll();
 }
Пример #13
0
        protected override async void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);

            InitializeDIContainer();

            // Init settings
            ApplicationSettings settings = null;
            ISettingsManager <ApplicationSettings> appSettingsManager = Container.Resolve <ISettingsManager <ApplicationSettings> >();

            try
            {
                var appSettingsDirectory = Path.GetDirectoryName(appSettingsManager.SettingsFilePath);
                if (!Directory.Exists(appSettingsDirectory))
                {
                    Directory.CreateDirectory(appSettingsDirectory);
                }

                settings = await appSettingsManager.LoadSettingsAsync().ConfigureAwait(true);

                // Init localization
                var culture = new CultureInfo(settings.SelectedUiLanguage);
                TranslationSource.Instance.CurrentCulture = culture;
                Thread.CurrentThread.CurrentCulture       = culture;
                Thread.CurrentThread.CurrentUICulture     = culture;
            }
            catch (Exception exp)
            {
                var sb = new StringBuilder();
                sb.AppendLine();
                sb.AppendLine("Unexpected Error 1 in App.Application_Startup()");
                sb.AppendLine($"   Message:{exp.Message}");
                sb.AppendLine($"StackTrace:{exp.StackTrace}");
                sb.AppendLine();
                _log.WriteLine(sb.ToString(), LogErrorSeverity.Error);
            }

            // Due to implementation constraints, taskbar icon must be instantiated as late as possible
            Container.RegisterInstance(FindResource("TaskbarIcon") as TaskbarIcon, new ContainerControlledLifetimeManager());
            Container.Resolve <ITaskbarIconManager>();
            _log.WriteLine("Resolve DI container");
            _startupHelper      = Container.Resolve <IStartupHelper>();
            _workstationManager = Container.Resolve <IWorkstationManager>();

            _metaMessenger = Container.Resolve <IMetaPubSub>();

            _metaMessenger.Subscribe <ConnectedToServerEvent>(OnConnectedToServer);

            _serviceWatchdog = Container.Resolve <IServiceWatchdog>();
            _serviceWatchdog.Start();
            _deviceManager         = Container.Resolve <IDeviceManager>();
            _userActionHandler     = Container.Resolve <UserActionHandler>();
            _hotkeyManager         = Container.Resolve <IHotkeyManager>();
            _hotkeyManager.Enabled = true;
            _buttonManager         = Container.Resolve <IButtonManager>();
            _buttonManager.Enabled = true;
            _messageWindow         = Container.Resolve <MessageWindow>();
            Container.Resolve <IProximityLockManager>();
            Container.Resolve <IVaultLowBatteryMonitor>();

            SystemEvents.SessionSwitch += SystemEvents_SessionSwitch;


            // This will create an instance of password manager view model and allow handling of "Add new account" user action
            // It is required for subscribtion of PasswordManagerViewModel to the "AddAccountForApp" message
            // Note: PasswordManagerViewModel is not required for simplified UI
            Container.Resolve <PasswordManagerViewModel>();

            // Public Suffix list loading and updating may take some time (more than 8000 entries)
            // Better to load it before its required (for main domain extraction)
            await Task.Run(URLHelper.PreloadPublicSuffixAsync);

            // Handle first launch
            if (settings.IsFirstLaunch)
            {
                OnFirstLaunch();

                settings.IsFirstLaunch = false;
                appSettingsManager.SaveSettings(settings);
            }

            _windowsManager = Container.Resolve <IWindowsManager>();
            await _windowsManager.InitializeMainWindowAsync();

            await _metaMessenger.TryConnectToServer("HideezServicePipe");
        }