static public void CalculateProducedPower(string type) { List <PowerRecord> installedPowerRecords = GetInstalledPowerRecords(type); Dictionary <string, List <PowerRecord> > irradianceRecords = GetIrradianceRecords(type); List <PowerRecord> powerRecords = new List <PowerRecord>(); foreach (var record in installedPowerRecords) { double totalIrradiance = 0; PowerRecord powerRecord = new PowerRecord(); powerRecord.Name = record.Name; powerRecord.Inhabitants = record.Inhabitants; foreach (var irradiance in irradianceRecords[record.Name]) { var area = record.Energy / (0.15 * 1000); //Kommunal installerad effekt/(verkningsgrad * Irradians vid STC) powerRecord.Energy += irradiance.Energy * 0.15 * 0.9 * area; powerRecord.date = irradiance.date; totalIrradiance += irradiance.Energy; } powerRecord.AverageIrradiance = totalIrradiance / 24; powerRecords.Add(powerRecord); } AddPowerRecords(powerRecords, type); }
static public Dictionary <string, List <PowerRecord> > GetIrradianceRecords(string type) { Dictionary <string, List <string> > irradianceData = GetIrrradianceData(type); Dictionary <string, List <PowerRecord> > irradianceRecords = new Dictionary <string, List <PowerRecord> >(); foreach (var organization in irradianceData) { foreach (var location in organization.Value) { irradianceRecords.Add(organization.Key, new List <PowerRecord>()); string[] dataLines = location.Split('\n'); foreach (var dataLine in dataLines) { if (dataLine != "") { PowerRecord irradianceRecord = new PowerRecord(); irradianceRecord.Name = organization.Key; string[] data = dataLine.Split(' '); irradianceRecord.date.year = data[0]; irradianceRecord.date.month = data[1]; irradianceRecord.date.day = data[2]; irradianceRecord.date.hour = data[3]; irradianceRecord.Energy = float.Parse(data[4], CultureInfo.InvariantCulture.NumberFormat); irradianceRecords[organization.Key].Add(irradianceRecord); } } } } return(irradianceRecords); }
public void RecordPower() { respawnPowerRecord = new PowerRecord { player1ElementalPower = player1.GetComponent <PlayerController>().elementalPowerSlot, player1BehaviouralPower = player1.GetComponent <PlayerController>().behaviouralPowerSlot, player2ElementalPower = player2.GetComponent <PlayerController>().elementalPowerSlot, player2BehaviouralPower = player2.GetComponent <PlayerController>().behaviouralPowerSlot }; }
static public List <PowerRecord> GetInstalledPowerRecords(string type) { List <PowerRecord> installedPowerRecords = new List <PowerRecord>(); string data = GetInstalledPowerData(type); string[] dataLines = data.Split('\r', '\n'); foreach (var elem in dataLines) { if (elem != "" && elem != "\r") { PowerRecord installedPowerRecord = new PowerRecord(); string[] dataLine = elem.Split(' '); installedPowerRecord.Name = dataLine[0]; installedPowerRecord.Energy = Int32.Parse(dataLine[1]); if (municipality.Contains(type)) { installedPowerRecord.Inhabitants = Int32.Parse(dataLine[2]); } installedPowerRecords.Add(installedPowerRecord); } } return(installedPowerRecords); }