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; } }
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); }
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)); }