Example #1
0
 void OnPlayerEnter(PlayerController player)
 {
     if (sunState == SunState.DISABLED && !completed)
     {
         completed = true;
         sunState  = SunState.ENABLED;
         StartCoroutine(SetNodeEnabled());
     }
 }
        public Weather(TimeInfo ti)
        {
            if (ti.Hour < 5)
            {
                Sunlight = SunState.Dark;
            }
            else if (ti.Hour < 6)
            {
                Sunlight = SunState.Rise;
            }
            else if (ti.Hour < 19)
            {
                Sunlight = SunState.Light;
            }
            else if (ti.Hour < 20)
            {
                Sunlight = SunState.Set;
            }
            else
            {
                Sunlight = SunState.Dark;
            }

            Change   = 0;
            Pressure = 960;
            if (ti.Month >= 7 && ti.Month <= 12)
            {
                Pressure += Content.Random.Next(1, 50);
            }
            else
            {
                Pressure += Content.Random.Next(1, 80);
            }

            if (Pressure <= 980)
            {
                Sky = SkyState.Lightning;
            }
            else if (Pressure <= 1000)
            {
                Sky = SkyState.Raining;
            }
            else if (Pressure <= 1020)
            {
                Sky = SkyState.Cloudy;
            }
            else
            {
                Sky = SkyState.Cloudless;
            }
        }
Example #3
0
        public SunState GetSunState()
        {
            var sunState = new SunState();

            var currentState = _context.WeatherForecastCurrentState.LastOrDefault();

            if (currentState != null)
            {
                sunState.Sunrise = currentState.SunriseTime.ToString("HH:mm");
                sunState.Sunset  = currentState.SunsetTime.ToString("HH:mm");
            }

            return(sunState);
        }
Example #4
0
    IEnumerator SetNodeEnabled()
    {
        PlayerAudio   audio   = GameController.instance.activePlayer.GetComponent <PlayerAudio> ();
        PlayerMetrics metrics = GameController.instance.activePlayer.GetComponent <PlayerMetrics> ();

        metrics.completedPlanets++;
        metrics.boostLeft += 1.0f;

        sunState = SunState.ENABLED;
        audio.PlayActivateSfx(gameObject);

        Renderer renderer = GetComponent <Renderer> ();
        float    c        = renderer.material.color.r;
        float    e        = renderer.material.GetColor("_EmissionColor").r;

        ParticleSystem.EmissionModule emission = system.emission;
        emission.rateOverTime = 25 * nodeRadius;

        while (e < 2 || c < 1f)
        {
            c = Mathf.Lerp(c, 1.01f, Time.deltaTime * 5f);
            e = Mathf.Lerp(e, 2.02f, Time.deltaTime * 5f);

            renderer.material.color = new Color(c, c, c);
            renderer.material.SetColor("_EmissionColor", new Color(e, e, e));
            yield return(null);
        }

        c = 1f;
        e = 2f;
        renderer.material.color = new Color(c, c, c);
        renderer.material.SetColor("_EmissionColor", new Color(e, e, e));

        float timeoutTime = 0;

        if (sunType == SunType.YELLOW)
        {
            timeoutTime = 1f * Mathf.Pow(nodeRadius, 0.72f);
        }
        else if (sunType == SunType.BLUE)
        {
            timeoutTime = 0.3f * Mathf.Pow(nodeRadius, 0.72f);
        }
        else if (sunType == SunType.RED)
        {
            timeoutTime = 3f * Mathf.Pow(nodeRadius, 0.72f);
        }

        yield return(new WaitForSeconds(timeoutTime));

        sunState = SunState.DORMANT;

        emission = system.emission;
        emission.rateOverTime = 5 * nodeRadius;

        while (e > 1 || c > 0.9f)
        {
            c = Mathf.Lerp(c, 0.89f, Time.deltaTime * 4f);
            e = Mathf.Lerp(e, 0.89f, Time.deltaTime * 4f);

            renderer.material.color = new Color(c, c, c);
            renderer.material.SetColor("_EmissionColor", new Color(e, e, e));
            yield return(null);
        }

        c = 0.9f;
        e = 1f;
        renderer.material.color = new Color(c, c, c);
        renderer.material.SetColor("_EmissionColor", new Color(e, e, e));
    }