/// <summary> /// Loads a specialist into the specialist pool for this game. /// </summary> /// <param name="configuration">The specialist configuration object to add to the pool</param> /// <returns>If the configuration could be added to the pool</returns> /// <exception cref="Exception">Throws an exception of a specialist with that name already exists in the game</exception> private bool AddSpecialistToPool(SpecialistConfiguration configuration) { if (_specialistPool.ContainsKey(configuration.SpecialistName)) { throw new Exception("Specialist name already exists."); } _specialistPool.Add(configuration.SpecialistName, configuration); return(true); }
public SpecialistConfigurationModel(SpecialistConfiguration configuration) { SpecialistConfig = configuration; // Generate an id if one was not generated if (string.IsNullOrEmpty(SpecialistConfig.Id)) { SpecialistConfig.Id = Guid.NewGuid().ToString(); } }
public Specialist SpawnSpecialist(string specialistName, Player player) { if (_specialistPool.ContainsKey(specialistName)) { SpecialistConfiguration configuration = _specialistPool[specialistName]; Specialist spawnedSpecialist = new Specialist(specialistName, (int)configuration.Priority, player); // Create the specialist effects. SpecialistEffectFactory effectFactory = new SpecialistEffectFactory(); foreach (var effectConfiguration in configuration.SpecialistEffects.ToList()) { ISpecialistEffect effect = effectFactory.CreateSpecialistEffect(effectConfiguration); spawnedSpecialist.AddSpecialistEffect(effect); } return(spawnedSpecialist); } return(null); }
private void ReadRecords() { _list = new List <SpecialistConfiguration>(); foreach (var row in grdConfiguration.Rows) { var oSpecialistConfiguration = new SpecialistConfiguration(); foreach (var cell in grdConfiguration.Rows[row.Index].Cells) { var columnKey = cell.Column.Key; if (columnKey == "i_SystemUserId") { oSpecialistConfiguration.i_SystemUserId = cell.Value.ToString(); } else if (columnKey == "i_CategoryId") { oSpecialistConfiguration.i_CategoryId = cell.Value.ToString(); } else if (columnKey == "v_EmployerOrganizationId") { oSpecialistConfiguration.v_EmployerOrganizationId = cell.Value.ToString(); } else if (columnKey == "v_CustomerOrganizationId") { oSpecialistConfiguration.v_CustomerOrganizationId = cell.Value.ToString(); } else if (columnKey == "v_WorkingOrganizationId") { oSpecialistConfiguration.v_WorkingOrganizationId = cell.Value.ToString(); } else if (columnKey == "Price") { oSpecialistConfiguration.Price = float.Parse(cell.Value.ToString()); } } _list.Add(oSpecialistConfiguration); } if (_list.Count == 0) { MessageBox.Show(@"Ningún registro leido", @"INFORMACIÓN", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
public BindingList <SpecialistConfiguration> LoadGrid() { try { var oList = new BindingList <SpecialistConfiguration>(); var dbContext = new SigesoftEntitiesModel(); var queryable = dbContext.medico.Where(p => p.i_MasterServiceId == (int)MasterService.Eso && p.i_MasterServiceTypeId == (int)ServiceType.Empresarial).ToList(); foreach (var item in queryable) { var oSpecialistConfiguration = new SpecialistConfiguration(); oSpecialistConfiguration.v_MedicoId = item.v_MedicoId; oSpecialistConfiguration.Price = float.Parse(item.r_Price.ToString()); if (item.i_SystemUserId != null) { oSpecialistConfiguration.i_SystemUserId = item.i_SystemUserId.Value.ToString(); } if (item.i_CategoryId != null) { oSpecialistConfiguration.i_CategoryId = item.i_CategoryId.Value.ToString(); } oSpecialistConfiguration.v_CustomerOrganizationId = item.v_CustomerOrganizationId; oSpecialistConfiguration.v_EmployerOrganizationId = item.v_EmployerOrganizationId; oSpecialistConfiguration.v_WorkingOrganizationId = item.v_WorkingOrganizationId; oList.Add(oSpecialistConfiguration); } return(oList); } catch (Exception) { return(null); } }