void SetRainStat(RainStates rainState) { switch (rainState) { case RainStates.soft: rainBack.SetActive(true); rainMid.SetActive(false); rainFront.SetActive(false); rainBackTrans.Rotate(new Vector3(0, 0, 0)); rainMidTrans.Rotate(new Vector3(0, 0, 0)); rainFrotTrans.Rotate(new Vector3(0, 0, 0)); isLiteRain = true; isNoRain = false; isHeavyRain = false; isMedRain = false; break; case RainStates.med: rainBack.SetActive(true); rainMid.SetActive(true); rainFront.SetActive(false); rainBackTrans.Rotate(new Vector3(0, 0, 358)); rainMidTrans.Rotate(new Vector3(0, 0, 356)); rainFrotTrans.Rotate(new Vector3(0, 0, 0)); isLiteRain = false; isNoRain = false; isHeavyRain = false; isMedRain = true; break; case RainStates.hard: isLiteRain = false; isNoRain = false; isHeavyRain = true; isMedRain = false; rainBack.SetActive(true); rainMid.SetActive(true); rainFront.SetActive(true); rainBackTrans.Rotate(new Vector3(0, 0, 358)); rainMidTrans.Rotate(new Vector3(0, 0, 355)); rainFrotTrans.Rotate(new Vector3(0, 0, 337)); break; case RainStates.none: isLiteRain = false; isNoRain = true; isHeavyRain = false; isMedRain = false; rainBack.SetActive(false); rainMid.SetActive(false); rainFront.SetActive(false); rainBackTrans.Rotate(new Vector3(0, 0, 0)); rainMidTrans.Rotate(new Vector3(0, 0, 0)); rainFrotTrans.Rotate(new Vector3(0, 0, 0)); break; } }
void UpdateState() { WindTrait[] windTraits = GetWindTraits(); if (windTraits != null) { direction = Vector3.zero; foreach (WindTrait trait in windTraits) { direction += trait.GetWindVector(); } direction /= windTraits.Length; } if (lastRainState != currentRainState) { currentRainParticleSystem.Stop(); switch (currentRainState) { case RainStates.noRain: currentRainParticleSystem = null; break; case RainStates.LightRain: currentRainParticleSystem = rainParticleSystems[0]; break; case RainStates.HeavyRain: currentRainParticleSystem = rainParticleSystems[1]; break; case RainStates.StormRain: currentRainParticleSystem = rainParticleSystems[2]; thunderStrikingCoroutine = StartCoroutine("RainDownThunder"); break; default: break; } currentRainParticleSystem.Play(); } lastRainState = currentRainState; }
public void ChangeRain(RainStates rain) { SetRainStat(rain); }