コード例 #1
0
 private void LoadEliteConfigurations()
 {
     foreach (var tank in this.SelectedTanks)
     {
         TankInstanceManager.GetInstance(tank.Repository, tank.Model).TankConfiguration.LoadEliteConfiguration();
     }
 }
        private StatVM GetStatVM(TankVM tank, StatInfoVM statInfo)
        {
            var tankStats = _statVms.GetOrCreate(statInfo, () => new Dictionary <TankVM, StatVM>());

            return(tankStats.GetOrCreate(tank,
                                         () => new StatVM(statInfo,
                                                          statInfo.Model,
                                                          TankInstanceManager.GetInstance(tank.Repository, tank.Model))));
        }
コード例 #3
0
 private void LoadFullProficiencyCrews()
 {
     foreach (var tank in this.SelectedTanks)
     {
         var tankInstance = TankInstanceManager.GetInstance(tank.Repository, tank.Model);
         foreach (var crew in tankInstance.CrewConfiguration.Crews)
         {
             crew.LastSkillTrainingLevel = 100;
         }
     }
 }
コード例 #4
0
 private void LoadBrotherInArmsForAllCrews()
 {
     foreach (var tank in this.SelectedTanks)
     {
         var tankInstance = TankInstanceManager.GetInstance(tank.Repository, tank.Model);
         foreach (var crew in tankInstance.CrewConfiguration.Crews)
         {
             crew.LearnSkill("brotherhood");
         }
     }
 }
コード例 #5
0
 private void LoadCamouflageForAllCrews()
 {
     foreach (var tank in this.SelectedTanks)
     {
         var tankInstance = TankInstanceManager.GetInstance(tank.Repository, tank.Model);
         foreach (var crew in tankInstance.CrewConfiguration.Crews)
         {
             crew.LearnSkill("camouflage");
         }
     }
 }
コード例 #6
0
        private void UpdateRivals()
        {
            var rivals = new List <ModelComparerRivalVM>();

            var currentTank = this.TankInstance;

            foreach (var repository in RepositoryManager.Instance.Repositories)
            {
                if (!(repository is LocalGameClient))
                {
                    continue;
                }

                if (repository == currentTank.Repository)
                {
                    continue;
                }

                var tank = repository.GetTank(currentTank.Tank.NationKey, currentTank.Tank.Key);
                if (tank == null)
                {
                    continue;
                }

                var instance = TankInstanceManager.GetInstance(repository, tank);
                var rival    = new ModelComparerRivalVM(instance);
                rivals.Add(rival);
            }

            this.Rivals = rivals;

            if (rivals.Count > 0)
            {
                if (this.SelectedRival != null)
                {
                    this.SelectedRival = rivals.FirstOrDefault(r => r.Model.Repository == this.SelectedRival.Model.Repository);
                }

                if (this.SelectedRival == null)
                {
                    this.SelectedRival = rivals.First();
                }
            }
            else
            {
                this.SelectedRival = null;
            }

            this.IsEnabled = rivals.Count > 0;
        }
コード例 #7
0
        private void ViewInstanceXMLSnapshot(TankUnikey key)
        {
            var repository = RepositoryManager.Instance[key.RepositoryID];
            var tank       = repository.TankDatabase.Query("tank[@key = '{0}' and nation/@key = '{1}']", key.TankKey, key.NationKey);

            var uri = FileDocumentService.Instance
                      .CreateTemporaryStreamUri("tankinstance",
                                                "xml",
                                                key.ToString(),
                                                TankInstanceManager.GetInstance(key).Xml.ToStream(),
                                                this.L("xml_viewer_service", "instance_xml_document_title", tank["userString"]),
                                                null,
                                                RepositoryManager.Instance[key.RepositoryID]);

            DockingViewManager.Instance.DocumentManager.OpenDocument(uri);
        }
コード例 #8
0
        protected override ICreateDocumentTask CreateCreateDocumentTask(IRepository repository,
                                                                        Uri uri,
                                                                        Guid guid,
                                                                        IXQueryable tank,
                                                                        string persistentInfo)
        {
            return(CreateDocumentTask.FromFactory(() =>
            {
                var tankInstance = TankInstanceManager.GetInstance(repository, tank);

                var view = new TankModuleTreeDocumentView();
                var vm = new TankModuleTreeDocumentVM(this, view.CommandBindings, tankInstance, persistentInfo);
                view.ViewModel = vm;

                return new DocumentInfo(guid: guid,
                                        repositoryId: repository.ID,
                                        uri: uri,
                                        title: string.Format("{0} [module tree]", tankInstance.Tank.Name),
                                        content: view,
                                        features: new IFeature[] { vm });
            }));
        }
コード例 #9
0
        protected override ICreateDocumentTask CreateCreateDocumentTask(IRepository repository,
                                                                        Uri uri,
                                                                        Guid guid,
                                                                        IXQueryable tank,
                                                                        string persistentInfo)
        {
            return(CreateDocumentTask.FromFactory(() =>
            {
                var tankInstance = TankInstanceManager.GetInstance(repository, tank);

                var view = new ModelDocumentView();
                var vm = new ModelDocumentVM(this, view.CommandBindings, tankInstance, persistentInfo);
                view.ViewModel = vm;

                return new DocumentInfo(guid: guid,
                                        repositoryId: repository.ID,
                                        uri: uri,
                                        title: this.L("model_inspector", "document_title", tankInstance.Tank.Name),
                                        content: view,
                                        features: new IFeature[] { vm },
                                        persistentInfoProvider: vm.PersistentInfo);
            }));
        }