Beispiel #1
0
        public ChatWindowViewModel(ChatClient client)
        {
            this.client = client;
            this.client.Chat += OnChat;

            this.sendMessage = new DelegatedCommand<string>(SendMessage, CanSendMessage);
        }
        public GameController()
        {
            TakeScreenshotCommand = new DelegatedCommand(() => ScreenshotService.Instance.TakeScreenshotAndOutput(rpOutputToClipboard: false));

            if (OS.IsWin7OrLater)
                try
                {
                    foreach (var rSession in VolumeManager.Instance.EnumerateSessions())
                        rSession.Dispose();

                    VolumeManager.Instance.NewSession += VolumeManager_NewSession;
                }
                catch (TypeInitializationException e) when (e.InnerException is COMException)
                {
                    r_IsAudioDeviceNotAvailable = true;
                }

            MuteToggleCommand = new DelegatedCommand(() =>
            {
                if (Volume != null)
                    Volume.IsMute = !Volume.IsMute;
            }, () => OS.IsWin7OrLater && !r_IsAudioDeviceNotAvailable);

            RestartGameCommand = new DelegatedCommand(RestartGame);
        }
        public GameController(BrowserService rpOwner)
        {
            r_Owner = rpOwner;

            TakeScreenshotToFileCommand = new DelegatedCommand(() => ScreenshotService.Instance.TakeScreenshotAndOutput(rpOutputToClipboard: false));
            TakeScreenshotToClipboardCommand = new DelegatedCommand(() => ScreenshotService.Instance.TakeScreenshotAndOutput(rpOutputToClipboard: true));
            OpenScreenshotToolCommand = new DelegatedCommand(ScreenshotTool.Open);

            if (OS.IsWin7OrLater && !rpOwner.NoInstalledLayoutEngines)
                try
                {
                    foreach (var rSession in VolumeManager.Instance.EnumerateSessions())
                        rSession.Dispose();

                    VolumeManager.Instance.NewSession += VolumeManager_NewSession;
                }
                catch (Exception)
                {
                    r_IsAudioDeviceNotAvailable = true;
                }

            MuteToggleCommand = new DelegatedCommand(() =>
            {
                if (Volume != null)
                    Volume.IsMute = !Volume.IsMute;
            }, () => OS.IsWin7OrLater && !r_IsAudioDeviceNotAvailable);

            SetZoomCommand = new DelegatedCommand<double>(SetZoom);
            SupportedZoomFactors = new[] { .25, .5, .75, 1.0, 1.25, 1.5, 1.75, 2.0, 3.0, 4.0 }.Select(r => new BrowserZoomInfo(r, SetZoomCommand)).ToList().AsReadOnly();

            RestartGameCommand = new DelegatedCommand(RestartGame);
        }
        public void Initialize()
        {
            Logger.LogAdded += r => Message = r.Content;

            Task.Run(new Action(async() =>
            {
                var rServers = new[] { "jp.pool.ntp.org", "pool.ntp.org", "us.pool.ntp.org", "cn.pool.ntp.org", "jp.ntp.org.cn", "us.ntp.org.cn", "cn.ntp.org.cn" };

                foreach (var rSuccess in rServers.Select(QueryCurrentTime))
                {
                    if (await rSuccess)
                    {
                        StartTimer();
                        return;
                    }
                }
            }));

            UIZoom = Preference.Instance.UI.Zoom;

            UISetZoomCommand = new DelegatedCommand <double>(SetZoom);
            UIZoomFactors    = new[] { .25, .5, .75, 1.0, 1.25, 1.5, 1.75, 2.0, 3.0, 4.0 }.Select(r => new UIZoomInfo(r, UISetZoomCommand)).ToArray();
            UIZoomInCommand  = new DelegatedCommand(() => SetZoom(UIZoom + .05));
            UIZoomOutCommand = new DelegatedCommand(() => SetZoom(UIZoom - .05));

            RegisterCustomBBCodeTag();
        }
Beispiel #5
0
 public MainViewModel(MainModel model)
 {
     BrowseCommand                 = new DelegatedCommand(Browse);
     ResetCommand                  = new DelegatedCommand(Reset);
     IncludeFileCommand            = new DelegatedCommand(IncludeFile, CanInclude);
     IncludeFolderCommand          = new DelegatedCommand(IncludeFolder, CanInclude);
     ExcludeFileCommand            = new DelegatedCommand(ExcludeFile);
     ExcludeFolderCommand          = new DelegatedCommand(ExcludeFolder);
     ExcludePatternCommand         = new DelegatedCommand(ExcludePattern);
     SetExclusionPatternCommand    = new DelegatedCommand(SetExclusionPattern);
     CancelExclusionPatternCommand = new DelegatedCommand(CancelExcludePattern);
     RemoveCommand                 = new DelegatedCommand(Remove, CanRemove);
     this.model = model;
     if (model != null)
     {
         var files = from s in model.FileSpecifications
                     select new FileViewModel
         {
             IsAddition = s.IsAddition,
             IsFolder   = s.IsFolder,
             Path       = s.FilePath,
             IsValid    = s.IsValid,
         };
         foreach (var file in files)
         {
             this.files.Add(file);
         }
     }
     TargetFolderPath = model.TargetFolderPath;
     CompressOnStart  = model.CompressOnStart;
 }
        BrowserService()
        {
            r_IsNavigatorVisible = true;

            ClearCacheCommand          = new DelegatedCommand(() => Communicator.Write(CommunicatorMessages.ClearCache));
            ClearCacheAndCookieCommand = new DelegatedCommand(() => Communicator.Write(CommunicatorMessages.ClearCacheAndCookie));
        }
        BrowserService()
        {
            r_IsNavigatorVisible = true;

            ClearCacheCommand = new DelegatedCommand(() => Communicator.Write(CommunicatorMessages.ClearCache));
            ClearCacheAndCookieCommand = new DelegatedCommand(() => Communicator.Write(CommunicatorMessages.ClearCacheAndCookie));
        }
        public InitializationPageViewModel(MainWindowViewModel rpOwner)
        {
            r_Owner = rpOwner;

            RetryCommand = new DelegatedCommand(CheckProxyPort);
            SkipCommand = new DelegatedCommand(Start);
        }
        public QuestRealtimeProgressViewModel(Quest rpQuest)
        {
            r_Quest = rpQuest;

            DecreaseCommand = new DelegatedCommand(Decrease, CanDecrease);
            IncreaseCommand = new DelegatedCommand(Increase, CanIncrease);
        }
Beispiel #10
0
        internal MainWindowViewModel()
        {
            GameInformation = new GameInformationViewModel(this);
            r_Page          = GameInformation;

            ApiService.SubscribeOnce("api_start2", delegate
            {
                IsGameStarted = true;
                OnPropertyChanged(nameof(IsGameStarted));
            });

            ApiService.Subscribe("api_req_map/start", _ => ThemeManager.Instance.ChangeAccent(Accent.Brown));
            KanColleGame.Current.ReturnedFromSortie += _ => ThemeManager.Instance.ChangeAccent(Accent.Blue);

            r_BlinkingBrownAccent = new Accent("BlinkingBrown", new Uri("pack://application:,,,/HeavenlyWind;component/Themes/Accents/BlinkingBrown.xaml"));

            PropertyChangedEventListener.FromSource(NotificationService.Instance)
            .Add(nameof(NotificationService.Instance.IsBlinking), delegate
            {
                if (NotificationService.Instance.IsBlinking)
                {
                    ThemeManager.Instance.ChangeAccent(r_BlinkingBrownAccent);
                }
            });

            ShowConstructionHistoryCommand      = new DelegatedCommand(() => WindowService.Instance.Show <ConstructionHistoryWindow>());
            ShowDevelopmentHistoryCommand       = new DelegatedCommand(() => WindowService.Instance.Show <DevelopmentHistoryWindow>());
            ShowSortieHistoryCommand            = new DelegatedCommand(() => WindowService.Instance.Show <SortieHistoryWindow>());
            ShowExpeditionHistoryCommand        = new DelegatedCommand(() => WindowService.Instance.Show <ExpeditionHistoryWindow>());
            ShowScrappingHistoryCommand         = new DelegatedCommand(() => WindowService.Instance.Show <ScrappingHistoryWindow>());
            ShowResourceHistoryCommand          = new DelegatedCommand(() => WindowService.Instance.Show <ResourceHistoryWindow>());
            ShowSortieConsumptionHistoryCommand = new DelegatedCommand(() => WindowService.Instance.Show <SortieConsumptionHistoryWindow>());
            ShowSortieStatisticCommand          = new DelegatedCommand(() => WindowService.Instance.Show <SortieStatisticWindow>());
        }
Beispiel #11
0
		public DialogBackend()
		{
			cmd = new DelegatedCommand<WpfDialogButton> (OnButtonClicked);

			this.leftButtonContainer.ItemsPanel = leftPanelTemplate;
			this.leftButtonContainer.ItemTemplateSelector = new DialogButtonTemplateSelector(ButtonStyle, cmd);
			this.leftButtonContainer.ItemsSource = this.leftButtons;
			this.leftButtonContainer.HorizontalAlignment = HorizontalAlignment.Left;

			this.rightButtonContainer.ItemsPanel = rightPanelTemplate;
			this.rightButtonContainer.ItemTemplateSelector = new DialogButtonTemplateSelector(ButtonStyle, cmd);
			this.rightButtonContainer.ItemsSource = this.rightButtons;
			this.rightButtonContainer.HorizontalAlignment = HorizontalAlignment.Right;

			this.rootPanel.RowDefinitions.Add (new RowDefinition { Height = new GridLength (0, GridUnitType.Auto) });
			separator = new SWC.Separator ();
			separator.Visibility = Visibility.Collapsed;
			Grid.SetRow (separator, 2);
			this.rootPanel.Children.Add (separator);

			this.rootPanel.RowDefinitions.Add (new RowDefinition { Height = new GridLength(0, GridUnitType.Auto) });

			this.buttonContainer.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto  });
			this.buttonContainer.ColumnDefinitions.Add(new ColumnDefinition ());
			this.buttonContainer.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto  });
			Grid.SetColumn(this.leftButtonContainer, 0);
			Grid.SetColumn(this.rightButtonContainer, 2);
			this.buttonContainer.Children.Add(this.leftButtonContainer);
			this.buttonContainer.Children.Add(this.rightButtonContainer);

			Grid.SetRow (buttonContainer, 3);
			this.rootPanel.Children.Add (buttonContainer);
			buttonContainer.Visibility = Visibility.Collapsed;
		}
        public InitializationPageViewModel(MainWindowViewModel rpOwner)
        {
            r_Owner = rpOwner;

            RetryCommand = new DelegatedCommand(CheckProxyPort);
            SkipCommand  = new DelegatedCommand(Start);
        }
Beispiel #13
0
        public BrowserNavigator(BrowserService rpOwner)
        {
            r_Owner = rpOwner;

            r_Owner.Messages.Subscribe(CommunicatorMessages.LoadCompleted, r =>
            {
                var rMatch = r_LoadCompletedParameterRegex.Match(r);
                if (!rMatch.Success)
                {
                    return;
                }

                CanGoBack    = bool.Parse(rMatch.Groups[1].Value);
                CanGoForward = bool.Parse(rMatch.Groups[2].Value);
                Url          = rMatch.Groups[3].Value;
            });

            GoBackCommand    = new DelegatedCommand(GoBack);
            GoForwardCommand = new DelegatedCommand(GoForward);
            NavigateCommand  = new DelegatedCommand(Navigate);
            RefreshCommand   = new DelegatedCommand(Refresh);

            SetCookieCommand = new DelegatedCommand(SetCookie);

            ResizeBrowserToFitGameCommand = new DelegatedCommand(ResizeBrowserToFitGame);
        }
        UpdateService()
        {
            InitializeFilesToBeChecked();

            DownloadCommand = new DelegatedCommand(() => Process.Start(Info?.Link));

            HideNotificationCommand = new DelegatedCommand <UpdateNotificationMode>(HideNotification);
        }
        UpdateService()
        {
            InitializeFilesToBeChecked();

            DownloadCommand = new DelegatedCommand(() => Process.Start(Info?.Link));

            HideNotificationCommand = new DelegatedCommand<UpdateNotificationMode>(HideNotification);
        }
        public GameController(BrowserService rpOwner)
        {
            r_Owner = rpOwner;

            TakeScreenshotToFileCommand      = new DelegatedCommand(() => ScreenshotService.Instance.TakeScreenshotAndOutput(rpOutputToClipboard: false));
            TakeScreenshotToClipboardCommand = new DelegatedCommand(() => ScreenshotService.Instance.TakeScreenshotAndOutput(rpOutputToClipboard: true));
            OpenScreenshotToolCommand        = new DelegatedCommand(ScreenshotTool.Open);
            OpenScreenshotFolderCommand      = new DelegatedCommand(() => Process.Start(Preference.Instance.Browser.Screenshot.Path));

            if (OS.IsWin7OrLater && !rpOwner.NoInstalledLayoutEngines)
            {
                try
                {
                    AudioManager.StartSessionNotification();
                    AudioManager.NewSession += AudioManager_NewSession;
                }
                catch (Exception)
                {
                    r_IsAudioDeviceNotAvailable = true;
                }
            }

            MuteToggleCommand = new DelegatedCommand(() =>
            {
                if (AudioSession != null)
                {
                    try
                    {
                        AudioSession.IsMute = !AudioSession.IsMute;
                    }
                    catch (COMException e) when(e.ErrorCode == 0x8889004)
                    {
                        new TaskDialog()
                        {
                            Caption     = StringResources.Instance.Main.Product_Name,
                            Instruction = UnhandledExceptionDialogStringResources.Instruction,
                            Icon        = TaskDialogIcon.Error,
                            Content     = StringResources.Instance.Main.MessageDialog_AudioSessionDisconnected,

                            OwnerWindow            = App.Current.MainWindow,
                            ShowAtTheCenterOfOwner = true,
                        }.Show();
                    }
                }
                catch (COMException e) when(e.ErrorCode != 0x8889004)
                {
                    new TaskDialog()
                    {
                        Caption     = StringResources.Instance.Main.Product_Name,
                        Instruction = UnhandledExceptionDialogStringResources.Instruction,
                        Icon        = TaskDialogIcon.Error,
                        Content     = e.ErrorCode.ToString(),

                        OwnerWindow            = App.Current.MainWindow,
                        ShowAtTheCenterOfOwner = true,
                    }.Show();
                }
            }, () => OS.IsWin7OrLater && !r_IsAudioDeviceNotAvailable);
        PreferencesWindowViewModel()
        {
            var rSystemFonts = Fonts.SystemFontFamilies.Select(r => new SystemFont(r)).ToList();
            var rCurrentFont = Preference.Current.UI.Font;
            if (!rSystemFonts.Any(r => r.FontFamily.Source == rCurrentFont))
                rSystemFonts.Insert(0, new SystemFont(rCurrentFont));

            SystemFonts = rSystemFonts.AsReadOnly();

            LoadedPlugins = PluginService.Instance.LoadedPlugins.Select(r => new PluginViewModel(r)).ToList().AsReadOnly();

            OpenFolderPickerCommand = new DelegatedCommand<string>(rpType =>
            {
                using (var rFolderPicker = new CommonOpenFileDialog() { FolderPicker = true })
                {
                    if (rFolderPicker.Show() == CommonFileDialogResult.OK)
                    {
                        var rPath = rFolderPicker.Filename;

                        switch (rpType)
                        {
                            case "Cache":
                                Preference.Current.Cache.Path = rPath;
                                break;

                            case "Screenshot":
                                Preference.Current.Browser.Screenshot.Destination = rPath;
                                break;
                        }
                    }
                }
            });

            OpenCustomSoundFileDialogCommand = new DelegatedCommand<string>(rpType =>
            {
                using (var rDialog = new CommonOpenFileDialog())
                {
                    rDialog.FileTypes.Add(new CommonFileDialogFileType(StringResources.Instance.Main.PreferenceWindow_Notification_SoundFileType, "wav;mp3;aac;wma"));

                    if (rDialog.Show() == CommonFileDialogResult.OK)
                    {
                        var rFilename = rDialog.Filename;

                        switch (rpType)
                        {
                            case "General":
                                Preference.Current.Notification.SoundFilename = rFilename;
                                break;

                            case "HeavilyDamaged":
                                Preference.Current.Notification.HeavilyDamagedWarningSoundFilename = rFilename;
                                break;
                        }
                    }
                }
            });
        }
 public FieldViewModel(BaseEntity entity, string fieldName, string fieldValue, bool isSelected) : base(entity)
 {
     _parentEntity = entity;
     Name          = fieldName;
     Label         = fieldValue;
     IsSelected    = isSelected;
     uiDispatcher  = Dispatcher.CurrentDispatcher;
     MakeValueNull = new DelegatedCommand(SetMakeValueNull);
 }
		public void VerifyCommand()
		{
			var action = new DelegatedCommand<int>( parameter => {} ).Timed();
			var history = LoggingHistory.Default.Get();
			Assert.Empty( history.Events );
			action( 6776 );
			var item = Assert.Single( history.Events );
			var text = item.MessageTemplate.Text;
			Assert.Contains( Defaults.ParameterizedTimerTemplate, text );
		}
        internal MainWindowViewModel()
        {
            r_Page          = new InitializationPageViewModel(this);
            GameInformation = new GameInformationViewModel(this);

            ApiService.SubscribeOnce("api_start2", delegate
            {
                IsGameStarted = true;
                OnPropertyChanged(nameof(IsGameStarted));
            });

            ShowSessionToolCommand = new DelegatedCommand(() => WindowService.Instance.Show <SessionToolWindow>(r_SessionTool));

            ApiService.Subscribe("api_req_map/start", _ => ThemeManager.Instance.ChangeAccent(Accent.Brown));
            KanColleGame.Current.ReturnedFromSortie += _ => ThemeManager.Instance.ChangeAccent(Accent.Blue);

            Preference.Instance.Game.DisableHeavyDamageBlinkingWarning.Subscribe(rpValue =>
            {
                if (SortieInfo.Current == null)
                {
                    return;
                }

                if (!rpValue)
                {
                    ThemeManager.Instance.ChangeAccent(Accent.Brown);
                }
            });

            r_BlinkingBrownAccent = new Accent("BlinkingBrown", new Uri("pack://application:,,,/HeavenlyWind;component/Themes/Accents/BlinkingBrown.xaml"));

            PropertyChangedEventListener.FromSource(NotificationService.Instance)
            .Add(nameof(NotificationService.Instance.IsBlinking), delegate
            {
                if (NotificationService.Instance.IsBlinking)
                {
                    ThemeManager.Instance.ChangeAccent(r_BlinkingBrownAccent);
                }
            });

            UISetZoomCommand = new DelegatedCommand <double>(SetZoom);
            UIZoomInCommand  = new DelegatedCommand(() => SetZoom(Preference.Instance.UI.Zoom.Value + .05));
            UIZoomOutCommand = new DelegatedCommand(() => SetZoom(Preference.Instance.UI.Zoom.Value - .05));

            UIZoomFactors = new[] { .25, .5, .75, 1.0, 1.25, 1.5, 1.75, 2.0, 3.0, 4.0 }.Select(r => new UIZoomInfo(r, UISetZoomCommand)).ToArray();

            ShowConstructionHistoryCommand      = new DelegatedCommand(() => WindowService.Instance.Show <ConstructionHistoryWindow>());
            ShowDevelopmentHistoryCommand       = new DelegatedCommand(() => WindowService.Instance.Show <DevelopmentHistoryWindow>());
            ShowSortieHistoryCommand            = new DelegatedCommand(() => WindowService.Instance.Show <SortieHistoryWindow>());
            ShowExpeditionHistoryCommand        = new DelegatedCommand(() => WindowService.Instance.Show <ExpeditionHistoryWindow>());
            ShowScrappingHistoryCommand         = new DelegatedCommand(() => WindowService.Instance.Show <ScrappingHistoryWindow>());
            ShowResourceHistoryCommand          = new DelegatedCommand(() => WindowService.Instance.Show <ResourceHistoryWindow>());
            ShowSortieConsumptionHistoryCommand = new DelegatedCommand(() => WindowService.Instance.Show <SortieConsumptionHistoryWindow>());
            ShowSortieStatisticCommand          = new DelegatedCommand(() => WindowService.Instance.Show <SortieStatisticWindow>());
        }
Beispiel #21
0
        /// <summary>
        /// Constructor
        /// </summary>
        public OctaneMyItemsViewModel()
        {
            Instance = this;

            SearchCommand  = new DelegateCommand(SearchInternal);
            RefreshCommand = new DelegatedCommand(Refresh);
            OpenOctaneOptionsDialogCommand = new DelegatedCommand(OpenOctaneOptionsDialog);

            _myItems = new ObservableCollection <OctaneItemViewModel>();
            _mode    = MainWindowMode.FirstTime;
        }
        public GameController(BrowserService rpOwner)
        {
            r_Owner = rpOwner;

            TakeScreenshotToFileCommand      = new DelegatedCommand(() => ScreenshotService.Instance.TakeScreenshotAndOutput(rpOutputToClipboard: false));
            TakeScreenshotToClipboardCommand = new DelegatedCommand(() => ScreenshotService.Instance.TakeScreenshotAndOutput(rpOutputToClipboard: true));
            OpenScreenshotToolCommand        = new DelegatedCommand(ScreenshotTool.Open);

            if (OS.IsWin7OrLater && !rpOwner.NoInstalledLayoutEngines)
            {
                try
                {
                    AudioManager.Instance.StartSessionNotification();
                    AudioManager.Instance.NewSession += AudioManager_NewSession;
                }
                catch (Exception)
                {
                    r_IsAudioDeviceNotAvailable = true;
                }
            }

            MuteToggleCommand = new DelegatedCommand(() =>
            {
                if (AudioSession != null)
                {
                    try
                    {
                        AudioSession.IsMute = !AudioSession.IsMute;
                    }
                    catch (COMException e) when(e.ErrorCode == 0x8889004)
                    {
                        new TaskDialog()
                        {
                            Caption     = StringResources.Instance.Main.Product_Name,
                            Instruction = UnhandledExceptionDialogStringResources.Instruction,
                            Icon        = TaskDialogIcon.Error,
                            Content     = StringResources.Instance.Main.MessageDialog_AudioSessionDisconnected,

                            OwnerWindow            = App.Current.MainWindow,
                            ShowAtTheCenterOfOwner = true,
                        }.Show();
                    }
                }
            }, () => OS.IsWin7OrLater && !r_IsAudioDeviceNotAvailable);

            SetZoomCommand = new DelegatedCommand <double>(SetZoom);
            ZoomInCommand  = new DelegatedCommand(() => SetZoom(Zoom + .05));
            ZoomOutCommand = new DelegatedCommand(() => SetZoom(Zoom - .05));
            ZoomFactors    = new[] { .25, .5, .75, 1.0, 1.25, 1.5, 1.75, 2.0 }.Select(r => new BrowserZoomInfo(r, SetZoomCommand)).ToList().AsReadOnly();

            RestartGameCommand = new DelegatedCommand(RestartGame);
        }
        public PriceUpdateViewModel(IPriceService priceService)
        {
            _priceUpdateService = priceService;
            _uiUpdateTimer = new Timer();
            _dispatcher = Dispatcher.CurrentDispatcher;
            _bgWorkerTask = Task.Factory.StartNew(()=> { });

            StartCommand = new DelegatedCommand<object>(StartCommand_Executed, StartCommand_CanExecuted);
            StopCommand = new DelegatedCommand<object>(StopCommand_Executed, StopCommand_CanExecuted);

            PricesUI = new ObservableCollection<Price>();
            _lastestPrices = new ConcurrentDictionary<uint, Price>();
        }
Beispiel #24
0
        public ToolsViewModel(GameInformationViewModel rpOwner)
        {
            r_Owner = rpOwner;

            ShowSessionToolCommand        = new DelegatedCommand(() => WindowService.Instance.Show <SessionToolWindow>(r_SessionTool));
            ShowExpeditionOverviewCommand = new DelegatedCommand(() =>
            {
                var rExpeditionOverview = r_Owner.TabItems.OfType <ExpeditionOverviewViewModel>().SingleOrDefault() ?? new ExpeditionOverviewViewModel();
                r_Owner.AddTabItem(rExpeditionOverview);
            });

            r_OpenToolPaneCommand = new DelegatedCommand <ToolViewModel>(r_Owner.AddTabItem);
            ToolPanes             = PluginService.Instance.ToolPanes?.Select(r => new ToolViewModel(r, r_OpenToolPaneCommand)).ToList().AsReadOnly();
        }
        internal MainWindowViewModel()
        {
            r_Page = new InitializationPageViewModel(this);
            GameInformation = new GameInformationViewModel(this);

            ApiService.SubscribeOnce("api_start2", delegate
            {
                IsGameStarted = true;
                OnPropertyChanged(nameof(IsGameStarted));
            });

            ShowSessionToolCommand = new DelegatedCommand(() => WindowService.Instance.Show<SessionToolWindow>(r_SessionTool));

            ApiService.Subscribe("api_req_map/start", _ => ThemeManager.Instance.ChangeAccent(Accent.Brown));
            KanColleGame.Current.ReturnedFromSortie += _ => ThemeManager.Instance.ChangeAccent(Accent.Blue);

            Preference.Instance.Game.DisableHeavyDamageBlinkingWarning.Subscribe(rpValue =>
            {
                if (SortieInfo.Current == null)
                    return;

                if (!rpValue)
                    ThemeManager.Instance.ChangeAccent(Accent.Brown);
            });

            r_BlinkingBrownAccent = new Accent("BlinkingBrown", new Uri("pack://application:,,,/HeavenlyWind;component/Themes/Accents/BlinkingBrown.xaml"));

            PropertyChangedEventListener.FromSource(NotificationService.Instance)
                .Add(nameof(NotificationService.Instance.IsBlinking), delegate
                {
                    if (NotificationService.Instance.IsBlinking)
                        ThemeManager.Instance.ChangeAccent(r_BlinkingBrownAccent);
                });

            UISetZoomCommand = new DelegatedCommand<double>(SetZoom);
            UIZoomInCommand = new DelegatedCommand(() => SetZoom(Preference.Instance.UI.Zoom.Value + .05));
            UIZoomOutCommand = new DelegatedCommand(() => SetZoom(Preference.Instance.UI.Zoom.Value - .05));

            UIZoomFactors = new[] { .25, .5, .75, 1.0, 1.25, 1.5, 1.75, 2.0, 3.0, 4.0 }.Select(r => new UIZoomInfo(r, UISetZoomCommand)).ToArray();

            ShowConstructionHistoryCommand = new DelegatedCommand(() => WindowService.Instance.Show<ConstructionHistoryWindow>());
            ShowDevelopmentHistoryCommand = new DelegatedCommand(() => WindowService.Instance.Show<DevelopmentHistoryWindow>());
            ShowSortieHistoryCommand = new DelegatedCommand(() => WindowService.Instance.Show<SortieHistoryWindow>());
            ShowExpeditionHistoryCommand = new DelegatedCommand(() => WindowService.Instance.Show<ExpeditionHistoryWindow>());
            ShowScrappingHistoryCommand = new DelegatedCommand(() => WindowService.Instance.Show<ScrappingHistoryWindow>());
            ShowResourceHistoryCommand = new DelegatedCommand(() => WindowService.Instance.Show<ResourceHistoryWindow>());
            ShowSortieConsumptionHistoryCommand = new DelegatedCommand(() => WindowService.Instance.Show<SortieConsumptionHistoryWindow>());
            ShowSortieStatisticCommand = new DelegatedCommand(() => WindowService.Instance.Show<SortieStatisticWindow>());
        }
Beispiel #26
0
        /// <summary>
        /// Constructor
        /// </summary>
        public SearchItemsViewModel(string searchFilter)
        {
            if (searchFilter == null)
            {
                throw new ArgumentNullException(nameof(searchFilter));
            }

            _searchFilter = searchFilter.Trim();

            _searchFilter = Uri.EscapeDataString(HttpUtility.JavaScriptStringEncode(searchFilter));

            RefreshCommand = new DelegatedCommand(Refresh);

            Mode = WindowMode.Loading;
        }
Beispiel #27
0
        UpdateService()
        {
            DownloadCommand = new DelegatedCommand(() => Process.Start(Info?.Link));

            HideNotificationCommand = new DelegatedCommand <UpdateNotificationMode>(HideNotification);

            DataStore.Updated += rpName =>
            {
                switch (rpName)
                {
                case "ship_avatar":
                    UpdateShipAvatars();
                    break;
                }
            };
        }
Beispiel #28
0
        public ScreenshotToolViewModel()
        {
            Overview = new OverviewScreenshotToolViewModel(this);

            TakeGeneralScreenshotCommand = new DelegatedCommand <ScreenshotRegion>(r => ScreenshotService.Instance.TakePartialScreenshotAndOutput(Regions[r], r_OutputToClipboard));

            ShowOverlayWindowCommand = new DelegatedCommand <ScreenshotRegion>(r =>
            {
                r_OverlayWindow = new ScreenshotToolOverlayWindow();
                r_OverlayWindow.Show(Regions[r]);
            });
            HideOverlayWindowCommand = new DelegatedCommand(() =>
            {
                r_OverlayWindow?.Hide();
                r_OverlayWindow = null;
            });
        }
        public ScreenshotToolViewModel()
        {
            Overview = new OverviewScreenshotToolViewModel(this);

            TakeGeneralScreenshotCommand = new DelegatedCommand<ScreenshotRegion>(r => ScreenshotService.Instance.TakePartialScreenshotAndOutput(Regions[r], r_OutputToClipboard));

            ShowOverlayWindowCommand = new DelegatedCommand<ScreenshotRegion>(r =>
            {
                r_OverlayWindow = new ScreenshotToolOverlayWindow();
                r_OverlayWindow.Show(Regions[r]);
            });
            HideOverlayWindowCommand = new DelegatedCommand(() =>
            {
                r_OverlayWindow?.Hide();
                r_OverlayWindow = null;
            });
        }
Beispiel #30
0
        public DialogBackend()
        {
            cmd = new DelegatedCommand<DialogButton> (OnButtonClicked);

            this.buttonContainer.ItemsPanel = PanelTemplate;
            this.buttonContainer.ItemTemplateSelector =  new DialogButtonTemplateSelector (ButtonStyle, cmd);
            this.buttonContainer.ItemsSource = this.buttons;
            this.buttonContainer.HorizontalAlignment = HorizontalAlignment.Right;

            this.rootPanel.RowDefinitions.Add (new RowDefinition { Height = new GridLength (0, GridUnitType.Auto) });
            separator = new SWC.Separator ();
            Grid.SetRow (separator, 2);
            this.rootPanel.Children.Add (separator);

            this.rootPanel.RowDefinitions.Add (new RowDefinition { Height = new GridLength (0, GridUnitType.Auto) });
            Grid.SetRow (this.buttonContainer, 3);
            this.rootPanel.Children.Add (this.buttonContainer);
        }
        public BrowserNavigator()
        {
            BrowserService.Instance.Messages.Subscribe(CommunicatorMessages.LoadCompleted, r =>
            {
                var rMatch = r_LoadCompletedParameterRegex.Match(r);
                if (!rMatch.Success)
                    return;

                CanGoBack = bool.Parse(rMatch.Groups[1].Value);
                CanGoForward = bool.Parse(rMatch.Groups[2].Value);
                Url = rMatch.Groups[3].Value;
            });

            GoBackCommand = new DelegatedCommand(GoBack);
            GoForwardCommand = new DelegatedCommand(GoForward);
            NavigateCommand = new DelegatedCommand(Navigate);
            RefreshCommand = new DelegatedCommand(Refresh);
        }
        internal MainWindowViewModel()
        {
            GameInformation = new GameInformationViewModel(this);
            r_Page          = GameInformation;

            SessionService.Instance.SubscribeOnce("api_start2", delegate
            {
                IsGameStarted = true;
                OnPropertyChanged(nameof(IsGameStarted));
            });

            SessionService.Instance.Subscribe("api_req_map/start", _ => ThemeManager.Instance.ChangeAccent(Accent.Brown));
            KanColleGame.Current.ReturnedFromSortie += _ => ThemeManager.Instance.ChangeAccent(Accent.Blue);

            ShowConstructionHistoryCommand = new DelegatedCommand(() => WindowService.Instance.Show <ConstructionHistoryWindow>());
            ShowDevelopmentHistoryCommand  = new DelegatedCommand(() => WindowService.Instance.Show <DevelopmentHistoryWindow>());
            ShowSortieHistoryCommand       = new DelegatedCommand(() => WindowService.Instance.Show <SortieHistoryWindow>());
            ShowExpeditionHistoryCommand   = new DelegatedCommand(() => WindowService.Instance.Show <ExpeditionHistoryWindow>());
            ShowScrappingHistoryCommand    = new DelegatedCommand(() => WindowService.Instance.Show <ScrappingHistoryWindow>());
            ShowResourceHistoryCommand     = new DelegatedCommand(() => WindowService.Instance.Show <ResourceHistoryWindow>());
        }
        public TestRunnerPopupViewModel(ITestRunnerPopupView view, DTE2 dte)
        {
            view.DataContext = this;
            _view = view;
            _dte = dte;

            var catalog = new AggregateCatalog();
            catalog.Catalogs.Add(new AssemblyCatalog(typeof (ITestRunner).Assembly));
            var container = new CompositionContainer(catalog);
            container.ComposeParts(this);

            RunTestCommand = new DelegatedCommand(
                () => RunTest(TestRunnerProvider.DefaultRunner),
                () => TestName != null
                );

            DebugTestCommand = new DelegatedCommand(
                () => RunTest(TestRunnerProvider.DebugRunner),
                () => TestName != null
                );
        }
        internal OverviewViewModel()
        {
            var rPort = KanColleGame.Current.Port;

            var rPortPCEL = PropertyChangedEventListener.FromSource(rPort);

            rPortPCEL.Add(nameof(rPort.Ships), (s, e) => ShipCount                     = rPort.Ships.Count);
            rPortPCEL.Add(nameof(rPort.Equipment), (s, e) => EquipmentCount            = rPort.Equipment.Count);
            rPortPCEL.Add(nameof(rPort.RepairDocks), (s, e) => RepairDocks             = rPort.RepairDocks.Values.Select(r => new RepairDockViewModel(r)).ToList());
            rPortPCEL.Add(nameof(rPort.ConstructionDocks), (s, e) => ConstructionDocks = rPort.ConstructionDocks.Values.Select(r => new ConstructionDockViewModel(r)).ToList());

            AirBase = new AirBaseViewModel();

            SessionService.Instance.SubscribeOnce("api_get_member/base_air_corps", delegate
            {
                DispatcherUtil.UIDispatcher.BeginInvoke(new Action(() =>
                {
                    if (RightTabs == null)
                    {
                        RightTabs = new ObservableCollection <ModelBase>();
                        OnPropertyChanged(nameof(RightTabs));
                    }

                    RightTabs.Add(AirBase);
                }));
            });

            SessionService.Instance.Subscribe("api_req_map/next", delegate
            {
                var rSortie = SortieInfo.Current;
                if (rSortie != null)
                {
                    ShipCount = rPort.Ships.Count + rSortie.PendingShipCount;
                }
            });

            ShowShipOverviewWindowCommand      = new DelegatedCommand(() => WindowService.Instance.Show <ShipOverviewWindow>());
            ShowEquipmentOverviewWindowCommand = new DelegatedCommand(() => WindowService.Instance.Show <EquipmentOverviewWindow>());
        }
Beispiel #35
0
        /// <summary>
        /// Constructor
        /// </summary>
        public DetailedItemViewModel(BaseEntity entity)
            : base(entity)
        {
            RefreshCommand                     = new DelegatedCommand(Refresh);
            SaveEntityCommand                  = new DelegatedCommand(SaveEntity);
            OpenInBrowserCommand               = new DelegatedCommand(OpenInBrowser);
            ToggleCommentSectionCommand        = new DelegatedCommand(SwitchCommentSectionVisibility);
            AddCommentCommand                  = new DelegatedCommand(AddComment);
            ToggleEntityFieldVisibilityCommand = new DelegatedCommand(ToggleEntityFieldVisibility);
            ResetFieldsCustomizationCommand    = new DelegatedCommand(ResetFieldsCustomization);

            _commentViewModels = new ObservableCollection <CommentViewModel>();
            _allEntityFields   = new List <FieldViewModel>();

            _phaseTransitions = new List <Phase>();

            Mode = WindowMode.Loading;

            EntitySupportsComments = EntityTypesSupportingComments.Contains(Utility.GetConcreteEntityType(entity));

            Id         = (long)entity.Id;
            EntityType = Utility.GetConcreteEntityType(Entity);
            FieldsCache.Instance.Attach(this);
        }
 private void DefineCommands()
 {
     ClearButtonClickedCommand = new DelegateCommand<object>(OnClearButtonClicked, OnCanExecuteClear);
     DoneButtonClickedCommand = new DelegateCommand<object>(OnDoneButtonClicked, OnCanExecuteDone);
     NewButtonClickedCommand = new DelegateCommand<object>(OnNewButtonClicked, OnCanExecuteNew);
     ApplyButtonClickedCommand = new DelegateCommand<object>(OnApplyButtonClicked, OnCanExecuteApply);
     TextChangedCommand = new ExtendedDelegateCommand<ExtendedCommandParameter>(OnTextChangedCommand, null);
     ClickCloseCommand = new DelegatedCommand<object>(OnClose);
 }
        internal OverviewViewModel()
        {
            var rPort = KanColleGame.Current.Port;

            var rPortPCEL = PropertyChangedEventListener.FromSource(rPort);
            rPortPCEL.Add(nameof(rPort.Ships), (s, e) => ShipCount = rPort.Ships.Count);
            rPortPCEL.Add(nameof(rPort.Equipment), (s, e) => EquipmentCount = rPort.Equipment.Count);
            rPortPCEL.Add(nameof(rPort.RepairDocks), (s, e) => RepairDocks = rPort.RepairDocks.Values.Select(r => new RepairDockViewModel(r)).ToList());
            rPortPCEL.Add(nameof(rPort.ConstructionDocks), (s, e) => ConstructionDocks = rPort.ConstructionDocks.Values.Select(r => new ConstructionDockViewModel(r)).ToList());

            AirBase = new AirBaseViewModel();

            SessionService.Instance.SubscribeOnce("api_get_member/base_air_corps", delegate
            {
                DispatcherUtil.UIDispatcher.BeginInvoke(new Action(() =>
                {
                    if (RightTabs == null)
                    {
                        RightTabs = new ObservableCollection<ModelBase>();
                        OnPropertyChanged(nameof(RightTabs));
                    }

                    RightTabs.Add(AirBase);
                }));
            });

            SessionService.Instance.Subscribe("api_req_map/next", delegate
            {
                var rSortie = SortieInfo.Current;
                if (rSortie != null)
                    ShipCount = rPort.Ships.Count + rSortie.PendingShipCount;
            });

            ShowShipOverviewWindowCommand = new DelegatedCommand(() => new ShipOverviewWindow().Show());
            ShowEquipmentOverviewWindowCommand = new DelegatedCommand(() => new EquipmentOverviewWindow().Show());
        }
 public void DefineCommands()
 {
     CancelCommand = new DelegatedCommand<object>(OnCancelCommand);
 }
Beispiel #39
0
 public void DefineCommands()
 {
     ClickCommand = new DelegatedCommand<object>(OnClick);
     ClickPrint = new DelegatedCommand<object>(OnClickPrint);
     ClickSave = new DelegatedCommand<object>(OnClickSave);
     ClickTranspose = new DelegatedCommand<object>(OnClickTranspose);
     ClickHub = new DelegatedCommand<object>(OnClickHub);
     ClickProvenance = new DelegatedCommand<object>(OnClickProvenance);
     ClickCollaborate = new DelegatedCommand<object>(OnClickCollaborate);
     MouseMoveCommand = new ExtendedDelegateCommand<ExtendedCommandParameter>(OnMouseMove, null);
     MouseLeftButtonUpCommand = new ExtendedDelegateCommand<ExtendedCommandParameter>(OnMouseLeftButtonUpCommand, null);
     ClickManageLyrics = new DelegatedCommand<object>(OnClickManageLyrics);
     AddStaff = new DelegatedCommand<object>(OnAddStaff);
 }
Beispiel #40
0
 public void DefineCommands()
 {
     ClickCommand = new DelegatedCommand<object>(OnClick);
 }
Beispiel #41
0
 public void DefineCommands()
 {
     CloseClickedCommand = new DelegatedCommand<object>(OnCloseClicked);
     ContributorsClickedCommand = new DelegatedCommand<object>(OnContributorsClicked);
     EditClickedCommand = new DelegatedCommand<object>(OnEditClicked);
     FontFamilySelectedCommand = new DelegateCommand<Infrastructure.Support.FontFamily>(OnFontFamilySelected);
     TitleFontSizeSelectedCommand = new DelegateCommand<Infrastructure.Support.FontSize>(OnTitleFontSizeSelected);
 }
        internal OverviewViewModel()
        {
            var rPort = KanColleGame.Current.Port;

            var rPropertyChangedSource = Observable.FromEventPattern<PropertyChangedEventArgs>(rPort, nameof(rPort.PropertyChanged))
                .Select(r => r.EventArgs.PropertyName);
            rPropertyChangedSource.Where(r => r == nameof(rPort.Ships))
                .Subscribe(_ =>
                {
                    var rCount = rPort.Ships.Count;
                    if (KanColleGame.Current.Sortie != null)
                        rCount += KanColleGame.Current.Sortie.PendingShipCount;

                    ShipCount = rCount;
                });
            rPropertyChangedSource.Where(r => r == nameof(rPort.Equipments))
                .Subscribe(_ => EquipmentCount = rPort.Equipments.Count);
            rPropertyChangedSource.Where(r => r == nameof(rPort.RepairDocks))
                .Subscribe(_ => RepairDocks = rPort.RepairDocks.Values.Select(r => new RepairDockViewModel(r)).ToList());
            rPropertyChangedSource.Where(r => r == nameof(rPort.ConstructionDocks))
                .Subscribe(_ => ConstructionDocks = rPort.ConstructionDocks.Values.Select(r => new ConstructionDockViewModel(r)).ToList());

            ShowShipOverviewWindowCommand = new DelegatedCommand(ShowShipOverviewWindow);
            ShowEquipmentOverviewWindowCommand = new DelegatedCommand(ShowEquipmentOverviewWindow);
        }
Beispiel #43
0
 private void DefineCommands()
 {
     EditClickCommand = new DelegateCommand<object>(OnEditClick, OnCanExecuteEdit);
     NewClickCommand = new DelegateCommand<object>(OnNewClick, OnCanExecuteNew);
     ClickNext = new DelegatedCommand<object>(OnClickNext);
     ClickPrev = new DelegatedCommand<object>(OnClickPrev);
     CanExecuteNew = false || !EditorState.IsInternetAccess;
     CanExecuteEdit = false;
 }
Beispiel #44
0
        public void DefineCommands()
        {
            MouseEnterCommand = new ExtendedDelegateCommand<ExtendedCommandParameter>(OnMouseEnter, null);
            MouseLeaveCommand = new ExtendedDelegateCommand<ExtendedCommandParameter>(OnMouseLeave, null);

            MouseLeftButtonDownAcceptCommand = new ExtendedDelegateCommand<ExtendedCommandParameter>(OnMouseLeftButtonDownAccept, null);

            MouseLeftButtonDownRejectCommand = new ExtendedDelegateCommand<ExtendedCommandParameter>(OnMouseLeftButtonDownReject, null);
            ClickCommand = new DelegatedCommand<object>(OnClick);
            MouseRightButtonDownCommand = new ExtendedDelegateCommand<ExtendedCommandParameter>(OnMouseRightButtonDown, null);
        }
Beispiel #45
0
 public void DefineCommands()
 {
     DeleteArcCommand = new DelegatedCommand<object>(OnDeleteArc);
     FlipArcCommand = new DelegatedCommand<object>(OnFlipArc);
     MouseEnterCommand = new ExtendedDelegateCommand<ExtendedCommandParameter>(OnMouseEnter, CanHandleMouseEnter);
     MouseLeaveCommand = new ExtendedDelegateCommand<ExtendedCommandParameter>(OnMouseLeave, CanHandleMouseLeave);
     MouseLeftButtonUpCommand = new DelegatedCommand<object>(OnMouseLeftButtonUpCommand, CanHandleMouseLeftButtonUp);
     MouseRightButtonDownCommand = new DelegatedCommand<object>(OnMouseRightButtonDownCommand, CanHandleMouseRightButtonDown);
 }
        public GameController(BrowserService rpOwner)
        {
            r_Owner = rpOwner;

            TakeScreenshotToFileCommand = new DelegatedCommand(() => ScreenshotService.Instance.TakeScreenshotAndOutput(rpOutputToClipboard: false));
            TakeScreenshotToClipboardCommand = new DelegatedCommand(() => ScreenshotService.Instance.TakeScreenshotAndOutput(rpOutputToClipboard: true));
            OpenScreenshotToolCommand = new DelegatedCommand(ScreenshotTool.Open);
            OpenScreenshotFolderCommand = new DelegatedCommand(() => Process.Start(Preference.Instance.Browser.Screenshot.Path));

            if (OS.IsWin7OrLater && !rpOwner.NoInstalledLayoutEngines)
                try
                {
                    AudioManager.StartSessionNotification();
                    AudioManager.NewSession += AudioManager_NewSession;
                }
                catch (Exception)
                {
                    r_IsAudioDeviceNotAvailable = true;
                }

            MuteToggleCommand = new DelegatedCommand(() =>
            {
                if (AudioSession != null)
                    try
                    {
                        AudioSession.IsMute = !AudioSession.IsMute;
                    }
                    catch (COMException e) when (e.ErrorCode == 0x8889004)
                    {
                        new TaskDialog()
                        {
                            Caption = StringResources.Instance.Main.Product_Name,
                            Instruction = UnhandledExceptionDialogStringResources.Instruction,
                            Icon = TaskDialogIcon.Error,
                            Content = StringResources.Instance.Main.MessageDialog_AudioSessionDisconnected,

                            OwnerWindow = App.Current.MainWindow,
                            ShowAtTheCenterOfOwner = true,
                        }.Show();
                    }
                    catch (COMException e) when (e.ErrorCode != 0x8889004)
                    {
                        new TaskDialog()
                        {
                            Caption = StringResources.Instance.Main.Product_Name,
                            Instruction = UnhandledExceptionDialogStringResources.Instruction,
                            Icon = TaskDialogIcon.Error,
                            Content = e.ErrorCode.ToString(),

                            OwnerWindow = App.Current.MainWindow,
                            ShowAtTheCenterOfOwner = true,
                        }.Show();
                    }
            }, () => OS.IsWin7OrLater && !r_IsAudioDeviceNotAvailable);

            SetZoomCommand = new DelegatedCommand<double>(SetZoom);
            ZoomInCommand = new DelegatedCommand(() => SetZoom(Preference.Instance.Browser.Zoom.Value + .05));
            ZoomOutCommand = new DelegatedCommand(() => SetZoom(Preference.Instance.Browser.Zoom.Value - .05));

            ZoomFactors = new[] { .25, .5, .75, 1.0, 1.25, 1.5, 1.75, 2.0 }.Select(r => new BrowserZoomInfo(r, SetZoomCommand)).ToArray();

            RestartGameCommand = new DelegatedCommand(RestartGame);
        }
Beispiel #47
0
        PreferencesWindowViewModel()
        {
            var rSystemFonts = Fonts.SystemFontFamilies.Select(r => new SystemFont(r)).ToList();
            var rCurrentFont = Preference.Instance.UI.Font;

            if (!rSystemFonts.Any(r => r.FontFamily.Source == rCurrentFont))
            {
                rSystemFonts.Insert(0, new SystemFont(rCurrentFont));
            }

            SystemFonts = rSystemFonts.AsReadOnly();

            LoadedPlugins = PluginService.Instance.LoadedPlugins.Select(r => new PluginViewModel(r)).ToList().AsReadOnly();

            OpenFolderPickerCommand = new DelegatedCommand <string>(rpType =>
            {
                using (var rFolderPicker = new CommonOpenFileDialog()
                {
                    FolderPicker = true
                })
                {
                    if (rFolderPicker.Show() == CommonFileDialogResult.OK)
                    {
                        var rPath = rFolderPicker.Filename;

                        switch (rpType)
                        {
                        case "Cache":
                            Preference.Instance.Cache.Path.Value = rPath;
                            break;

                        case "Screenshot":
                            Preference.Instance.Browser.Screenshot.Path.Value = rPath;
                            break;
                        }
                    }
                }
            });

            OpenCustomSoundFileDialogCommand = new DelegatedCommand <string>(rpType =>
            {
                using (var rDialog = new CommonOpenFileDialog())
                {
                    rDialog.FileTypes.Add(new CommonFileDialogFileType(StringResources.Instance.Main.PreferenceWindow_Notification_SoundFileType, "wav;mp3;aac;wma"));

                    if (rDialog.Show() == CommonFileDialogResult.OK)
                    {
                        var rFilename = rDialog.Filename;

                        switch (rpType)
                        {
                        case "General":
                            Preference.Instance.Notification.SoundFilename.Value = rFilename;
                            break;

                        case "HeavyDamage":
                            Preference.Instance.Notification.HeavyDamageWarningSoundFilename.Value = rFilename;
                            break;
                        }
                    }
                }
            });
        }
        internal OverviewViewModel()
        {
            var rPort = KanColleGame.Current.Port;

            var rPortPCEL = PropertyChangedEventListener.FromSource(rPort);

            rPortPCEL.Add(nameof(rPort.Ships), (s, e) => ShipCount                     = rPort.Ships.Count);
            rPortPCEL.Add(nameof(rPort.Equipment), (s, e) => EquipmentCount            = rPort.Equipment.Count);
            rPortPCEL.Add(nameof(rPort.RepairDocks), (s, e) => RepairDocks             = rPort.RepairDocks.Values.Select(r => new RepairDockViewModel(r)).ToList());
            rPortPCEL.Add(nameof(rPort.ConstructionDocks), (s, e) => ConstructionDocks = rPort.ConstructionDocks.Values.Select(r => new ConstructionDockViewModel(r)).ToList());
            rPortPCEL.Add(nameof(rPort.Admiral), delegate
            {
                if (!r_IsAdmiralInitialized)
                {
                    var rAdmiral     = rPort.Admiral;
                    var rAdmiralPCEL = PropertyChangedEventListener.FromSource(rAdmiral);
                    rAdmiralPCEL.Add(nameof(rAdmiral.MaxShipCount), (s, e) => CheckShipCapacity());
                    rAdmiralPCEL.Add(nameof(rAdmiral.MaxEquipmentCount), (s, e) => CheckEquipmentCapacity());

                    r_IsAdmiralInitialized = true;
                }

                CheckCapacity();
            });

            AirBase = new AirBaseViewModel();

            r_AirBasePCEL = PropertyChangedEventListener.FromSource(rPort.AirBase);
            r_AirBasePCEL.Add(nameof(rPort.AirBase.AllGroups), delegate
            {
                if (rPort.AirBase.Table.Count == 0)
                {
                    return;
                }

                DispatcherUtil.UIDispatcher.InvokeAsync(() =>
                {
                    if (RightTabs == null)
                    {
                        RightTabs = new ObservableCollection <ModelBase>();
                        OnPropertyChanged(nameof(RightTabs));
                    }

                    RightTabs.Add(AirBase);
                });

                r_AirBasePCEL.Dispose();
                r_AirBasePCEL = null;
            });

            ApiService.Subscribe("api_req_map/next", delegate
            {
                var rSortie = SortieInfo.Current;
                if (rSortie != null)
                {
                    ShipCount = rPort.Ships.Count + rSortie.PendingShipCount;
                }
            });

            ShowShipOverviewWindowCommand      = new DelegatedCommand(() => WindowService.Instance.Show <ShipOverviewWindow>());
            ShowEquipmentOverviewWindowCommand = new DelegatedCommand(() => WindowService.Instance.Show <EquipmentOverviewWindow>());
        }
Beispiel #49
0
 public LoopViewModel()
 {
     this.adjustIteration = new DelegatedCommand (Adjust, CanAdjust);
 }
        UpdateService()
        {
            DownloadCommand = new DelegatedCommand(() => Process.Start(Info?.Link));

            HideNotificationCommand = new DelegatedCommand <UpdateNotificationMode>(HideNotification);
        }
        public void DefineCommands()
        {
            MouseLeavePlayCommand = new ExtendedDelegateCommand<ExtendedCommandParameter>(OnMouseLeavePlay, null);
            MouseEnterPlayCommand = new ExtendedDelegateCommand<ExtendedCommandParameter>(OnMouseEnterPlay, null);
            MouseLeftButtonDownPlayCommand = new ExtendedDelegateCommand<ExtendedCommandParameter>(OnMouseLeftButtonDownOnPlay, null);

            MouseLeavePauseCommand = new ExtendedDelegateCommand<ExtendedCommandParameter>(OnMouseLeavePause, null);
            MouseEnterPauseCommand = new ExtendedDelegateCommand<ExtendedCommandParameter>(OnMouseEnterPause, null);
            MouseLeftButtonDownPauseCommand = new ExtendedDelegateCommand<ExtendedCommandParameter>(OnMouseLeftButtonDownOnPause, null);

            MouseLeaveStopCommand = new ExtendedDelegateCommand<ExtendedCommandParameter>(OnMouseLeaveStop, null);
            MouseEnterStopCommand = new ExtendedDelegateCommand<ExtendedCommandParameter>(OnMouseEnterStop, null);
            MouseLeftButtonDownStopCommand = new ExtendedDelegateCommand<ExtendedCommandParameter>(OnMouseLeftButtonDownOnStop, null);

            ClickPlayCommand = new DelegatedCommand<object>(OnClickPlay);
            ClickStopCommand = new DelegatedCommand<object>(OnClickStop);
            ClickPauseCommand = new DelegatedCommand<object>(OnClickPause);
        }
Beispiel #52
0
 private void DefineCommands()
 {
     NaturalButtonCommand = new DelegatedCommand<object>(OnNaturalButtonCommand);
     SharpButtonCommand = new DelegatedCommand<object>(OnSharpButtonCommand);
     FlatButtonCommand = new DelegatedCommand<object>(OnFlatButtonCommand);
     ReverseButtonCommand = new DelegatedCommand<object>(OnReverseButtonCommand);
     PlayButtonCommand = new DelegatedCommand<object>(OnPlayButtonCommand);
     CloseButtonCommand = new DelegatedCommand<object>(OnCloseButtonCommand);
     DeleteButtonCommand = new DelegatedCommand<object>(OnDeleteButtonCommand);
     UpIntervalButtonCommand = new DelegatedCommand<object>(OnUpIntervalButtonCommand);
     DownIntervalButtonCommand = new DelegatedCommand<object>(OnDownIntervalButtonCommand);
 }