public void start(Transform master, RAKTerrainMaster masterTerrain, GameObject sun) { this.sun = sun; this.masterTerrain = masterTerrain; windZone = master.gameObject.GetComponent <WindZone>(); audioClips = new RAKAudioClip[2]; audioClips[0] = new RAKAudioClip(RAKUtilities.getAudioClip(RAKUtilities.AUDIO_CLIP_RAIN_LIGHT)); audioClips[1] = new RAKAudioClip(RAKUtilities.getAudioClip(RAKUtilities.AUDIO_CLIP_WIND_MEDIUM)); rainPrefab = RAKUtilities.getPrefab("RainPrefab"); audioSource = master.gameObject.AddComponent <AudioSource>(); audioSource.clip = audioClips[0].audioClip; audioSource.loop = true; windAudio = master.gameObject.AddComponent <AudioSource>(); windAudio.clip = audioClips[1].audioClip; windAudio.loop = true; setWeather(WeatherType.Clear); initialized = true; }
public GameObject addCloudParticle(CloudType cloudType, GameObject parent) { GameObject cloudSection; if (cloudType == CloudType.DENSE_NORMAL) { cloudSection = RAKUtilities.getPrefab("CloudSectionAngry"); } else { cloudSection = null; } cloudSection = (GameObject)Instantiate(cloudSection, Vector3.zero, Quaternion.identity);//, 1); cloudSection.transform.SetParent(parent.transform); cloudSection.transform.localPosition = Vector3.zero; return(cloudSection); /*ParticleSystem po = parent.AddComponent<ParticleSystem>(); * ParticleSystem.MainModule mainModule = po.main; * * ParticleSystem.ShapeModule shapeModule = po.shape; * ParticleSystem.MinMaxCurve emissionCurve = po.emission.rateOverTime; * ParticleSystem.LimitVelocityOverLifetimeModule velOverTimeModule = po.limitVelocityOverLifetime; * ParticleSystem.ColorOverLifetimeModule colorModule = po.colorOverLifetime; * ParticleSystem.ColorBySpeedModule colorBySpeed = po.colorBySpeed; * ParticleSystem.RotationOverLifetimeModule rotationModule = po.rotationOverLifetime; * ParticleSystem.NoiseModule noiseModule = po.noise; * po.Stop(); * if (cloudType == CloudType.DENSE_NORMAL) * { * ParticleSystem.MinMaxCurve startSize = new ParticleSystem.MinMaxCurve(25); * mainModule.startSize = startSize; * mainModule.startRotationX = 0; * mainModule.startRotationY = 360; * mainModule.maxParticles = 5000; * mainModule.duration = 10; * mainModule.loop = true; * mainModule.prewarm = true; * mainModule.startLifetime = 10; * mainModule.gravityModifier = .4f; * mainModule.simulationSpace = ParticleSystemSimulationSpace.World; * mainModule.simulationSpeed = .2f; * mainModule.startSpeed = 0; * mainModule.scalingMode = ParticleSystemScalingMode.Shape; * mainModule.emitterVelocityMode = ParticleSystemEmitterVelocityMode.Transform; * ParticleSystem.MinMaxGradient startGradient = new ParticleSystem.MinMaxGradient(new Color(79, 79, 79, 255), new Color(161, 161, 161, 255)); * mainModule.startColor = startGradient; * * shapeModule.shapeType = ParticleSystemShapeType.Box; * shapeModule.scale = new Vector3(10, 0, 10); * shapeModule.randomDirectionAmount = 0; * shapeModule.randomPositionAmount = 0; * * emissionCurve.constant = 500; * * velOverTimeModule.limit = 50; * velOverTimeModule.dampen = .1f; * velOverTimeModule.enabled = true; * * Gradient colorOverLifeGradient = new Gradient(); * GradientColorKey[] colorOverLifeColorKeys = new GradientColorKey[2]; * colorOverLifeColorKeys[0] = new GradientColorKey(new Color(128, 128, 128), 0); * colorOverLifeColorKeys[1] = new GradientColorKey(new Color(45, 95, 118), 100); * colorOverLifeGradient.SetKeys(colorOverLifeColorKeys, new GradientAlphaKey[] { new GradientAlphaKey(255, 0) }); * colorModule.color = colorOverLifeGradient; * colorModule.enabled = true; * * Gradient speedGradient = new Gradient(); * GradientColorKey[] speedColorKeys = new GradientColorKey[3]; * speedColorKeys[0] = new GradientColorKey(new Color(45, 95, 118), 0); * speedColorKeys[1] = new GradientColorKey(new Color(8, 46, 63), 40); * speedColorKeys[2] = new GradientColorKey(new Color(0, 0, 0), 100); * speedGradient.SetKeys(speedColorKeys, new GradientAlphaKey[] { new GradientAlphaKey(255, 0) }); * colorBySpeed.color = speedGradient; * colorBySpeed.range = new Vector2(0, 50); * colorBySpeed.enabled = true; * * rotationModule.x = 75; * rotationModule.y = 75; * rotationModule.z = 75; * rotationModule.enabled = true; * * noiseModule.strength = 10; * noiseModule.frequency = .05f; * noiseModule.scrollSpeed = 1; * noiseModule.damping = true; * noiseModule.octaveCount = 4; * noiseModule.octaveMultiplier = .5f; * noiseModule.octaveScale = 2; * noiseModule.enabled = true; * } * else if (cloudType == CloudType.LIGHT_NORMAL) * { * ParticleSystem.MinMaxCurve startSize = new ParticleSystem.MinMaxCurve(15, 25); * mainModule.startSize = startSize; * shapeModule.scale = new Vector3(15, 0, 15); * emissionCurve.constant = 150; * mainModule.maxParticles = 450; * shapeModule.randomDirectionAmount = 1; * shapeModule.randomPositionAmount = 1; * } * po.Play(); * return po;*/ }