Ejemplo n.º 1
0
        public void Update(SolarSystem solarsystem)
        {
            var planets           = solarsystem.GetPlanets();
            var planetCoordinates = planets.Select(x => x.GetPosition().ToCartesian()).ToList();

            var triangle = new Triangle(planetCoordinates[0], planetCoordinates[1], planetCoordinates[2]);

            if (triangle.Contains(solarsystem.GetSunCoordinates()))
            {
                var rain = new RainPeriod(solarsystem.GetDay(), triangle.GetPerimeter());
                this.rains.Add(rain);
                this.collection.Add(rain);
            }
        }
Ejemplo n.º 2
0
    private void ParseScript()
    {
        ScriptParser scriptParser = new ScriptParser();

        scriptParser.Parse("Weather/Rain.txt", true);
        for (int i = 0; i < scriptParser.GetKeysCount(); i++)
        {
            Key key = scriptParser.GetKey(i);
            if (key.GetName() == "Rain")
            {
                RainData rainData = new RainData();
                rainData.m_RainDuration = key.GetVariable(0).FValue;
                rainData.m_RainInterval = key.GetVariable(1).FValue;
                this.m_RainData.Add(rainData);
            }
            else if (key.GetName() == "RainCollectorFillPerSecondRain")
            {
                this.m_RainCollectorFillPerSecondRain = key.GetVariable(0).FValue;
            }
            else if (key.GetName() == "RainCollectorFillPerSecondNoRain")
            {
                if (GreenHellGame.ROADSHOW_DEMO)
                {
                    this.m_RainCollectorFillPerSecondNoRain = 10f;
                }
                else
                {
                    this.m_RainCollectorFillPerSecondNoRain = key.GetVariable(0).FValue;
                }
            }
            else if (key.GetName() == "Period")
            {
                RainPeriod rainPeriod = new RainPeriod();
                rainPeriod.m_Type     = (RainPeriodType)Enum.Parse(typeof(RainPeriodType), key.GetVariable(0).SValue);
                rainPeriod.m_Duration = key.GetVariable(1).FValue;
                this.m_Periods.Add(rainPeriod);
            }
        }
    }