private void AddLoadedTank(TankConfig tankConfig) { if (!tankConfig.IsValid()) { Debug.LogError("Invalid tank config"); PApplicationUtil.Quit(1); return; } tankConfig.Prefab = cnf.TankPrefab; if (tankConfig.Prefab == null) { Debug.LogError("Tank have no prefab"); PApplicationUtil.Quit(1); return; } foreach (var weaponConfig in tankConfig.Weapons) { try { weaponConfig.Prefab = cnf.TankWeapons.First(info => info.Name == weaponConfig.Name).Prefab; } catch (InvalidOperationException e) { Debug.LogErrorFormat("Cannot find tank weapon {0} in {1}", weaponConfig.Name, nameof(cnf.TankWeapons)); Debug.LogException(e); PApplicationUtil.Quit(1); return; } if (weaponConfig.Prefab == null) { Debug.LogErrorFormat("Weapon config {0} have no prefab", weaponConfig.Name); PApplicationUtil.Quit(1); return; } } st.TankConfig = tankConfig; }
public async Task TestCreateTankConfigAsync() { var newTankConfig1 = new TankConfig() { ConfigName = "Bypass Time", ConfigValue = "30" }; var newTankConfig2 = new TankConfig() { ConfigName = "Supply Timeout", ConfigValue = "60" }; await repository.CreateTankConfigAsync(newTankConfig1); var tankConfigs = await repository.RetrieveAllTankConfigs(); Assert.True(tankConfigs.Count() == 1); await repository.CreateTankConfigAsync(newTankConfig2); tankConfigs = await repository.RetrieveAllTankConfigs(); Assert.True(tankConfigs.Count() == 2); }
public async Task TestRetrieveTankConfigAsync() { var tempConfig = new TankConfig() { ConfigName = "RetrieveTankConfigAsyncTest", ConfigValue = "test" }; bool result = await repository.CreateTankConfigAsync(tempConfig); Assert.True(result); TankConfig retrievedConfig = await repository.RetrieveTankConfig(tempConfig.ConfigName); Assert.True(tempConfig.ConfigName == retrievedConfig.ConfigName); Assert.True(tempConfig.ConfigValue == retrievedConfig.ConfigValue); }
public async Task TestUpdateTankConfigAsync() { await repository.CreateTankConfigAsync(new TankConfig() { ConfigName = "Bypass Time", ConfigValue = "0" }); var newTankConfig1 = new TankConfig() { ConfigName = "Bypass Time", ConfigValue = "30" }; await repository.UpdateTankConfigAsync(newTankConfig1); var retrievedTankConfig = await repository.RetrieveTankConfig($"{newTankConfig1.ConfigName}"); Assert.True(retrievedTankConfig.ConfigValue == newTankConfig1.ConfigValue); }
public async Task <bool> UpdateTankConfigAsync(TankConfig tankConfig) { TankConfig originTankConfig = db.TankConfigs.FirstOrDefault(tc => tc.ConfigName == tankConfig.ConfigName); if (originTankConfig == null) { return(false); } originTankConfig.ConfigValue = tankConfig.ConfigValue; int affected = await db.SaveChangesAsync(); if (affected == 1) { return(true); } else { return(false); } }
public async Task <bool> CreateTankConfigAsync(TankConfig tankConfig) { // TODO: Do we need Create? => method have Single Responsiblity! // check if config is already existed. if (db.TankConfigs.Any(tc => tc.ConfigName == tankConfig.ConfigName)) { return(false); } db.TankConfigs.Add(tankConfig); int affected = await db.SaveChangesAsync(); if (affected == 1) { return(true); } else { return(false); } }
private void OnLoadTankConfigSuccess(TankConfig tankConfig) { st.LoadingInProcess--; AddLoadedTank(tankConfig); TryCallOnLoadEnd(); }
public void Init() { _tankConfig = new TankConfig(); _tankConfig.Init(); }