// ------ public bool Enabled() { if (weaponID != E_WeaponID.None) { WeaponSettings settings = WeaponSettingsManager.Instance.Get(weaponID); return(!settings.DISABLED); } else if (itemID != E_ItemID.None) { ItemSettings settings = ItemSettingsManager.Instance.Get(itemID); return(!settings.DISABLED); } else if (upgradeID != E_UpgradeID.None) { UpgradeSettings settings = UpgradeSettingsManager.Instance.Get(upgradeID); return(!settings.DISABLED); } else if (perkID != E_PerkID.None) { PerkSettings settings = PerkSettingsManager.Instance.Get(perkID); return(!settings.DISABLED); } else { Error("Unknown type!"); } return(false); }
public async Task UpgradeToLatestAvailableVersionTest() { var settings = new UpgradeSettings(); var verCollection = _database.GetCollection <DbVersion>(settings.VersionCollectionName); await _database.DropCollectionAsync(settings.VersionCollectionName); var dbLock = new MongoDbLock(_settings, _database); var tracker = new MongoMigrationTracker(_settings, _database); //Step2: Apply upgrade chain var upgrades = new MigrationChain(new List <IUpgradeLink> { new UpgradeStub("0.0", "0.1"), new UpgradeStub("0.1", "0.2"), new UpgradeStub("0.2", "0.3"), }); var upgrader = new MongoMigrator( _database, upgrades, new UpgradeStub(null, "0.0"), settings, dbLock, tracker, new NullLoggerFactory()); await upgrader.UpgradeOrInit(); var ver = (await verCollection.FindAsync(e => true)).First(); Assert.AreEqual(Version.Parse("0.3"), ver.Version, "After init, DB should marked with the latest version"); Assert.IsTrue(ver.AutoUpgradeEnabled); }
public async Task EmptyUpgradeListTest() { var settings = new UpgradeSettings(); var verCollection = _database.GetCollection <DbVersion>(settings.VersionCollectionName); await _database.DropCollectionAsync(settings.VersionCollectionName); var dbLock = new MongoDbLock(_settings, _database); var tracker = new MongoMigrationTracker(_settings, _database); var upgrader = new MongoMigrator( _database, new MigrationChain(null), null, settings, dbLock, tracker, new NullLoggerFactory()); await upgrader.UpgradeOrInit(); var ver = (await verCollection.FindAsync(e => true)).First(); Assert.IsNull(ver.Version); Assert.IsTrue(ver.AutoUpgradeEnabled); }
public void AllArgumentsWithoutDryRunGetSet() { var app = new CommandAppTester(); app.Configure(config => { config.PropagateExceptions(); config.AddCommand <UpgradeCommand>("upgrade"); }); CommandAppResult result = app.Run(new[] { "upgrade", "awesome-package", "--csprojFile", "\\path-to-file", "--version", "latest" }); // No .csproj file is given or can be found, so we expect -1 Assert.Equal(-1, result.ExitCode); Assert.NotNull(result.Settings); Assert.IsType <UpgradeSettings>(result.Settings); UpgradeSettings settings = result.Settings as UpgradeSettings; Assert.NotNull(settings !.PackageToUpgrade); Assert.Equal("awesome-package", settings !.PackageToUpgrade); Assert.NotNull(settings !.PathToCsProjFile); Assert.Equal("\\path-to-file", settings !.PathToCsProjFile); Assert.NotNull(settings !.Version); Assert.Equal("latest", settings !.Version); Assert.False(settings !.DryRun); Assert.False(settings !.Interactive); }
public async Task InitToTheLastVersionTest() { var settings = new UpgradeSettings(); var verCollection = _database.GetCollection <DbVersion>(settings.VersionCollectionName); await _database.DropCollectionAsync(settings.VersionCollectionName); var dbLock = new MongoDbLock(_settings, _database); var tracker = new MongoMigrationTracker(_settings, _database); var upgrades = new MigrationChain(new List <IUpgradeLink> { new UpgradeStub("0.0", "0.1"), new UpgradeStub("0.1", "0.2"), new UpgradeStub("0.2", "0.3"), }); var upgrader = new MongoMigrator( _database, upgrades, null, settings, dbLock, tracker, new NullLoggerFactory()); await upgrader.UpgradeOrInit(); var ver = (await verCollection.FindAsync(e => true)).First(); Assert.AreEqual(Version.Parse("0.3"), ver.Version); Assert.IsTrue(ver.AutoUpgradeEnabled); Assert.IsNull(ver.LastUpgradeError); }
public async Task InitFailTest() { var settings = new UpgradeSettings(); var verCollection = _database.GetCollection <DbVersion>(settings.VersionCollectionName); await _database.DropCollectionAsync(settings.VersionCollectionName); var dbLock = new MongoDbLock(_settings, _database); var tracker = new MongoMigrationTracker(_settings, _database); var upgrades = new MigrationChain(new List <IUpgradeLink> { new UpgradeStub("0.0", "0.1"), new UpgradeStub("0.1", "0.2"), new UpgradeStub("0.2", "0.3"), }); var upgrader = new MongoMigrator( _database, upgrades, new UpgradeStub(null, "0.0", (s, db, log) => throw new Exception("test init failed")), settings, dbLock, tracker, new NullLoggerFactory()); var ex = Assert.ThrowsAsync <MigrationException>(upgrader.UpgradeOrInit); Assert.IsNotNull(ex.InnerException); Assert.AreEqual("test init failed", ex.InnerException?.Message); var ver = (await verCollection.FindAsync(e => true)).First(); Assert.IsNull(ver.Version); Assert.IsFalse(ver.AutoUpgradeEnabled); Assert.IsNotNull(ver.LastUpgradeError); Assert.IsTrue(ver.LastUpgradeError.Contains("test init failed")); }
// ------ public bool IsDefault() { if (weaponID != E_WeaponID.None) { WeaponSettings settings = WeaponSettingsManager.Instance.Get(weaponID); return(settings.IsDefault()); } else if (itemID != E_ItemID.None) { ItemSettings settings = ItemSettingsManager.Instance.Get(itemID); return(settings.IsDefault()); } else if (upgradeID != E_UpgradeID.None) { UpgradeSettings settings = UpgradeSettingsManager.Instance.Get(upgradeID); return(settings.IsDefault()); } else if (perkID != E_PerkID.None) { PerkSettings settings = PerkSettingsManager.Instance.Get(perkID); return(settings.IsDefault()); } return(false); }
public void SetUp() { // All these means nothing to upgrade _runner = MongoDbRunner.Start(); _client = new MongoClient(_runner.ConnectionString); _database = _client.GetDatabase("intergationtest"); _settings = UpgradeSettings.Default; }
public PreviewItem(E_UpgradeID upgradeID) { if (upgradeID != E_UpgradeID.None) { UpgradeSettings settings = UpgradeSettingsManager.Instance.Get(upgradeID); m_ItemDescription = TextDatabase.instance[settings.Description]; } }
internal static void SetUpdateWindow(AdminCenterClient adminCenterClient, string environmentName, DateTime preferredStartTime, DateTime preferredEndTime) { var upgradeSettings = new UpgradeSettings { PreferredStartTimeUtc = preferredStartTime, PreferredEndTimeUtc = preferredEndTime, }; UpgradeSettings newUpgradeSettings = adminCenterClient.SetUpgradeSettings("BusinessCentral", environmentName, upgradeSettings); Utils.ConsoleWriteLineAsJson(newUpgradeSettings); }
private async void Init() { if (!File.Exists(SettingsPath)) { WriteDefaults(); } FromJson(); try { var currentVersion = Assembly.GetExecutingAssembly().GetName().Version; var settingsVersion = new Version(CurrentSettings.Version); var versionCheck = CheckVersion(currentVersion, settingsVersion); if (versionCheck == 1) { if (settingsVersion.CompareTo(UpgradeSettings.InitialVersion) == -1) { WriteDefaults(); } else { UpgradeSettings.Upgrade(CurrentSettings, settingsVersion); CurrentSettings.Version = currentVersion.ToString(); await InternalSaveAsync(); } } } catch (Exception e) { _logger.Error("Error occured while checking versions", e); WriteDefaults(); } if (CurrentSettings.AutomaticLimitsSync) { await SyncWithRemoteSettings(); } if (string.IsNullOrEmpty(CurrentSettings.Token)) { CurrentSettings.Token = Guid.NewGuid().ToString(); } InternalSave(); _socketIoService.StateChanged.Subscribe(state => { if (state == ConnectionState.Connected) { _socketIoService.Hub.SetToken(CurrentSettings.Token); } }); }
private void InvokeAction(string action) { GameObject gameManager = GameObject.Find("GameManager"); UpgradeSettings us = gameManager.GetComponent <UpgradeSettings>(); string methodName = GetMethodName(action); MethodInfo method = us.GetType().GetMethod(methodName); object[] functionParameters = GetMethodParameters(action, method.GetParameters()); method.Invoke(us, functionParameters); PlayerSettings.instance.upgradeTime = false; button.interactable = false; StartCoroutine(Solve()); }
public async Task UpgradeWithDifferentVerCollectionNameTest() { var settings = new UpgradeSettings { VersionCollectionName = "testtestete" }; var verCollection = _database.GetCollection <DbVersion>(settings.VersionCollectionName); await _database.DropCollectionAsync(settings.VersionCollectionName); var dbLock = new MongoDbLock(settings, _database); var tracker = new MongoMigrationTracker(settings, _database); //Step1: init db var upgrader = new MongoMigrator( _database, new MigrationChain(null), new UpgradeStub(null, "0.0"), settings, dbLock, tracker, new NullLoggerFactory()); await upgrader.UpgradeOrInit(); var ver = (await verCollection.FindAsync(e => true)).First(); Assert.AreEqual(Version.Parse("0.0"), ver.Version); //Step2: Apply upgrade chain var upgrades = new MigrationChain(new List <IUpgradeLink> { new UpgradeStub("0.0", "0.1"), new UpgradeStub("0.1", "0.2"), new UpgradeStub("0.2", "0.3"), }); upgrader = new MongoMigrator( _database, upgrades, new UpgradeStub(null, "0.0", (s, db, log) => throw new Exception("test init failed")), settings, dbLock, tracker, new NullLoggerFactory()); await upgrader.UpgradeOrInit(); ver = (await verCollection.FindAsync(e => true)).First(); Assert.AreEqual(Version.Parse("0.3"), ver.Version); Assert.IsTrue(ver.AutoUpgradeEnabled); }
protected override void buildObject(int level) { base.buildObject(level); usettings = upgrades[level]; indicator.gameObject.SetActive(false); indicator.gameObject.transform.Translate(usettings.indicatorOffset.x, usettings.indicatorOffset.y, 0); ContentManager.instance.configureObject(indicator, usettings.indicatorAtlasName, ""); ContentManager.instance.precacheAnimation(indicator, usettings.indicatorAnimationAtlasName); _type = ObjectType.COFFEE_MACHINE; _state = CoffeeMachineState.IDLE; }
private void FinishUpgrade() { Process.Start(System.IO.Path.Combine(UpgradeSettings.GetBaseDirectory(), "Rainy.SampleApplication.exe")); //当前运行WPF程序的进程实例 Process process = Process.GetCurrentProcess(); //遍历WPF程序的同名进程组 foreach (Process p in Process.GetProcessesByName(process.ProcessName)) { //关闭全部进程 p.Kill();//这个地方用kill 而不用Shutdown();的原因是,Shutdown关闭程序在进程管理器里进程的释放有延迟不是马上关闭进程的 //Application.Current.Shutdown(); return; } }
// ------ void InitData() { if (weaponID != E_WeaponID.None) { WeaponSettings settings = WeaponSettingsManager.Instance.Get(weaponID); m_ItemName = settings.Name; m_ItemDescription = settings.Description; m_IsPriceGold = settings.GoldCost > 0; m_Price = m_IsPriceGold ? settings.GoldCost : settings.MoneyCost; m_Image = settings.ResearchWidget; m_GUID = settings.GUID; } else if (itemID != E_ItemID.None) { ItemSettings settings = ItemSettingsManager.Instance.Get(itemID); m_ItemName = settings.Name; m_ItemDescription = settings.Description; m_IsPriceGold = settings.GoldCost > 0; m_Price = m_IsPriceGold ? settings.GoldCost : settings.MoneyCost; m_Image = settings.ResearchWidget; m_GUID = settings.GUID; } else if (upgradeID != E_UpgradeID.None) { UpgradeSettings settings = UpgradeSettingsManager.Instance.Get(upgradeID); m_ItemName = settings.Name; m_ItemDescription = settings.Description; m_IsPriceGold = settings.GoldCost > 0; m_Price = m_IsPriceGold ? settings.GoldCost : settings.MoneyCost; m_Image = settings.ResearchWidget; m_GUID = settings.GUID; } else if (perkID != E_PerkID.None) { PerkSettings settings = PerkSettingsManager.Instance.Get(perkID); m_ItemName = settings.Name; m_ItemDescription = settings.Description; m_IsPriceGold = settings.GoldCost > 0; m_Price = m_IsPriceGold ? settings.GoldCost : settings.MoneyCost; m_Image = settings.ResearchWidget; m_GUID = settings.GUID; } else { Error("Unknown type!"); } }
public void Initialize(UpgradeSettings upgradeSettings) { if (isInitialized || upgradeSettings == null) { return; } this.upgradeSettings = upgradeSettings; upgradeSettings.onUpgradeIncrement += UpdateInterface; upgradeButton.onClick.AddListener(OnUpgradeClick); CreateUpgradeValues(); UpdateInterface(); isInitialized = true; }
protected override void buildObject(int level) { base.buildObject(level); usettings = upgrades[level]; indicator.gameObject.SetActive(false); indicator.gameObject.transform.Translate(usettings.indicatorOffset.x, usettings.indicatorOffset.y, 0); ContentManager.instance.configureObject(indicator, usettings.indicatorAtlasName, ""); ContentManager.instance.precacheAnimation(indicator, usettings.indicatorAnimationAtlasName); brockenSprite.gameObject.SetActive(false); _portionCapacity = usettings.portionNum; _currentPortionNum = 0; _type = ObjectType.BLENDER; _state = BlenderState.IDLE; }
public void TargetVersionGetsSetToLatest() { var app = new CommandAppTester(); app.Configure(config => { config.PropagateExceptions(); config.AddCommand <UpgradeCommand>("upgrade"); }); CommandAppResult result = app.Run(new[] { "upgrade", "--version", "latest" }); // No .csproj file is given or can be found, so we expect -1 Assert.Equal(-1, result.ExitCode); Assert.NotNull(result.Settings); Assert.IsType <UpgradeSettings>(result.Settings); UpgradeSettings settings = result.Settings as UpgradeSettings; Assert.NotNull(settings !.Version); Assert.Equal("latest", settings !.Version); }
public void InteractiveIsSetByLongCode() { var app = new CommandAppTester(); app.Configure(config => { config.PropagateExceptions(); config.AddCommand <UpgradeCommand>("upgrade"); }); CommandAppResult result = app.Run(new[] { "upgrade", "--interactive" }); // No .csproj file is given or can be found, so we expect -1 Assert.Equal(-1, result.ExitCode); Assert.NotNull(result.Settings); Assert.IsType <UpgradeSettings>(result.Settings); UpgradeSettings settings = result.Settings as UpgradeSettings; Assert.True(settings !.Interactive); }
internal static void GetUpdateWindow(AdminCenterClient adminCenterClient, string environmentName) { UpgradeSettings upgradeSettings = adminCenterClient.GetUpgradeSettings("BusinessCentral", environmentName); Utils.ConsoleWriteLineAsJson(upgradeSettings); }
private async void ExcuteUpgrade() { prgUpgrade.Maximum = _lastestVersionInfo.FilesSize; prgUpgrade.Value = 0; tbkVersionInfo.Text = _lastestVersionInfo.Description; tbkTragetVersion.Text = "升级到最新版本:" + _lastestVersionInfo.VersionName; //删除需要删除的数据 if (_lastestVersionInfo.FileToDelete != null) { foreach (var fileName in _lastestVersionInfo.FileToDelete) { var file = new FileInfo(System.IO.Path.Combine(UpgradeSettings.GetBaseDirectory(), fileName)); if (file.Exists) { file.Delete(); } } } var client = UpgradeSettings.Instance.GetUpgradeHttpClient(); foreach (var fileName in _lastestVersionInfo.FilesToUpgrade) { var currentIndex = _lastestVersionInfo.FilesToUpgrade.IndexOf(fileName) + 1; tbkUpgradeInfo.Text = "更新中,进度 第" + currentIndex.ToString() + "个文件 / 共" + _lastestVersionInfo.FilesToUpgrade.Count.ToString() + "个文件 ( " + Math.Round(prgUpgrade.Value / prgUpgrade.Maximum * 100) + "% )"; tbkFileUpgrading.Text = fileName; var response = await client.GetAsync("api/ClientVersion/File?fileName=" + fileName); var fileStream = await response.Content.ReadAsStreamAsync(); var file = new FileInfo(System.IO.Path.Combine(UpgradeSettings.GetBaseDirectory(), fileName)); if (!file.Directory.Exists) { file.Directory.Create(); } var stream = file.OpenWrite(); await fileStream.CopyToAsync(stream); prgUpgrade.Value += stream.Length / 1024; stream.Close(); if (currentIndex == _lastestVersionInfo.FilesToUpgrade.Count) { if (_lastestVersionInfo != null) { //更新配置文件 UpgradeSettings.Instance["CurrentVersion"] = _lastestVersionInfo.VersionName; UpgradeSettings.Instance["LastUpdateTime"] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); } tbkFileUpgrading.Text = "无"; tbkUpgradeInfo.Text = "更新完成,进度 第" + currentIndex.ToString() + "个文件 / 共" + _lastestVersionInfo.FilesToUpgrade.Count.ToString() + "个文件 ( " + Math.Round(prgUpgrade.Value / prgUpgrade.Maximum * 100) + "% )"; tbkUpgradeInfo.Foreground = new SolidColorBrush(Colors.White); textBlock.Visibility = Visibility.Visible; button.Visibility = Visibility.Visible; } } }