示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
 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
     };
 }
示例#4
0
        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);
        }