Exemple #1
0
    private void Recycle()
    {
        Vector3 scale = new Vector3(
            Random.Range(minSize.x, maxSize.x),
            Random.Range(minSize.y, maxSize.y),
            Random.Range(minSize.z, maxSize.z));

        Vector3 position = nextPosition;

        position.x += scale.x * 0.5f;
        position.y += scale.y * 0.5f;

        Transform o = objectQueue.Dequeue();
        Breakers  B = o.gameObject.GetComponentInChildren <Breakers>();

        if (B)
        {
            B.Reset();
        }

        o.localScale    = scale;
        o.localPosition = position;
        objectQueue.Enqueue(o);

        nextPosition += new Vector3(
            Random.Range(minGap.x, maxGap.x) + scale.x,
            Random.Range(minGap.y, maxGap.y),
            Random.Range(minGap.z, maxGap.z));

        /*if (nextPosition.y < minY)
         * {
         *  nextPosition.y = minY + maxGap.y;
         * }
         * else if (nextPosition.y > maxY)
         * {
         *  nextPosition.y = maxY - maxGap.y;
         * }*/

        if (nextPosition.x < minX)
        {
            nextPosition.x = minX + maxGap.x;
        }
        else if (nextPosition.x > maxX)
        {
            nextPosition.x = maxX - maxGap.x;
        }
    }
Exemple #2
0
        public void ParseAll(string filePath)
        {
            XElement xelement = XElement.Load(filePath);
            IEnumerable <XElement> netModElements = xelement.Elements();

            double        lat, lon;
            XmlSerializer serializer = null;

            // Read the entire XML
            foreach (var netModElement in netModElements)
            {
                foreach (var entity in netModElement.Elements())
                {
                    var temp = entity.ToString();

                    using (TextReader reader = new StringReader(temp))
                    {
                        SubstationEntity resultSubstations     = null;
                        Breakers         resultBreakers        = null;
                        EnergySources    resultEnergySources   = null;
                        EnergyConsumers  resultEnergyConsumers = null;
                        Generator        resultGenerators      = null;

                        switch (entity.Name.ToString())
                        {
                        case "SubstationEntity":
                            serializer        = new XmlSerializer(typeof(SubstationEntity));
                            resultSubstations = (SubstationEntity)serializer.Deserialize(reader);
                            ToLatLon(((SubstationEntity)resultSubstations).X, ((SubstationEntity)resultSubstations).Y, 34, out lat, out lon);
                            ((SubstationEntity)resultSubstations).X = lat;
                            ((SubstationEntity)resultSubstations).Y = lon;
                            break;

                        case "Breaker":
                            serializer     = new XmlSerializer(typeof(Breakers));
                            resultBreakers = (Breakers)serializer.Deserialize(reader);
                            ToLatLon(((Breakers)resultBreakers).X, ((Breakers)resultBreakers).Y, 34, out lat, out lon);
                            ((Breakers)resultBreakers).X = lat;
                            ((Breakers)resultBreakers).Y = lon;
                            break;

                        case "EnergySource":
                            serializer          = new XmlSerializer(typeof(EnergySources));
                            resultEnergySources = (EnergySources)serializer.Deserialize(reader);
                            ToLatLon(((EnergySources)resultEnergySources).X, ((EnergySources)resultEnergySources).Y, 34, out lat, out lon);
                            ((EnergySources)resultEnergySources).X = lat;
                            ((EnergySources)resultEnergySources).Y = lon;
                            break;

                        case "EnergyConsumer":
                            serializer            = new XmlSerializer(typeof(EnergyConsumers));
                            resultEnergyConsumers = (EnergyConsumers)serializer.Deserialize(reader);
                            ToLatLon(((EnergyConsumers)resultEnergyConsumers).X, ((EnergyConsumers)resultEnergyConsumers).Y, 34, out lat, out lon);
                            ((EnergyConsumers)resultEnergyConsumers).X = lat;
                            ((EnergyConsumers)resultEnergyConsumers).Y = lon;
                            break;

                        case "Generator":
                            serializer       = new XmlSerializer(typeof(Generator));
                            resultGenerators = (Generator)serializer.Deserialize(reader);
                            ToLatLon(((Generator)resultGenerators).X, ((Generator)resultGenerators).Y, 34, out lat, out lon);
                            ((Generator)resultGenerators).X = lat;
                            ((Generator)resultGenerators).Y = lon;
                            break;
                        }

                        if (resultSubstations != null)
                        {
                            entitiesSustation.Add(resultSubstations);
                        }
                        else if (resultBreakers != null)
                        {
                            entitiesBreaker.Add(resultBreakers);
                        }
                        else if (resultEnergySources != null)
                        {
                            entitiesEnergySource.Add(resultEnergySources);
                        }
                        else if (resultEnergyConsumers != null)
                        {
                            entitiesEnergyConsumer.Add(resultEnergyConsumers);
                        }
                        else if (resultGenerators != null)
                        {
                            entitiesGenerator.Add(resultGenerators);
                        }
                    }
                }
            }
        }