/// <summary> /// Get tax rates for each zone. (See taxGroups) /// </summary> /// <returns>Dictionary of name => rate.</returns> /// <remarks>Rate is a percentage.</remarks> public Dictionary <String, int> GetTaxRates() { //Get tax rates for each group //LogMessage("Getting tax info."); Dictionary <String, int> taxRates = new Dictionary <string, int>(); foreach (TaxRateGroup group in taxGroups) { //LogMessage($"Getting tax info for {group.Name}."); taxRates[group.Name] = economyManager.GetTaxRate( group.Service, group.SubService, ItemClass.Level.None); } return(taxRates); }
public string getStats() { CitizenManager instance = Singleton <CitizenManager> .instance; EconomyManager econManager = Singleton <EconomyManager> .instance; m = m + "ID,flags,home,work,visiting,health,agegroup,education,wellbeing,gender,subculture,happiness,family,class,name,taxRate" + Environment.NewLine; int counter = 0; for (int i = 0; i < instance.m_citizens.m_buffer.Length; i++) { Citizen ci = instance.m_citizens.m_buffer[i]; uint ciInt = ci.m_instance; CitizenInfo ciInfo = ci.GetCitizenInfo(ciInt); //only get citizens that live in our city -> the list includes tourists etc if (instance.m_citizens.m_buffer[i].m_flags != 0 && !ci.Dead && ci.m_homeBuilding > 0) { m = m + ciInt + "," + (ci.m_flags + "").Replace(",", "-") + "," + ci.m_homeBuilding + "," + ci.m_workBuilding + "," + ci.m_visitBuilding + "," + Citizen.GetHealthLevel(ci.m_health) + "," + Citizen.GetAgeGroup(ci.Age) + "," + ci.EducationLevel + "," + ci.m_wellbeing + "," + ciInfo.m_gender + "," + ciInfo.m_subCulture + "," + Citizen.GetHappinessLevel(Citizen.GetHappiness(ci.m_health, ci.m_wellbeing)) + "," + ci.m_family + "," + ciInfo.m_class + "," + instance.GetInstanceName((ushort)ciInt) + "," + econManager.GetTaxRate(ciInfo.m_class) + Environment.NewLine; counter++; }// end if if (counter > dataLimit) { return(m); } }//end for return(m); }