Beispiel #1
0
 void Start()
 {
     for (int i = 0; i < numFireflies; i++)
     {
         Transform firefly = Instantiate(
             fireflyPrefab,
             Random.insideUnitSphere * maxDistanceFromOrigin + transform.position,
             Quaternion.identity
             ) as Transform;
         firefly.parent = transform;
         FireflyMovement fMovement = firefly.GetComponent <FireflyMovement>();
         FireflyFlash    fFlash    = firefly.GetComponent <FireflyFlash>();
         fMovement.speed = Random.Range(10, maxSpeed);
         fFlash.phase    = Random.Range(0, fFlash.flashPeriod);
     }
 }
    void OnTriggerEnter(Collider col)
    {
        FireflyMovement check = col.GetComponent <FireflyMovement>();

        if (check != null)
        {
            if (reduceRain)
            {
                m_WeatherManager.ReduceRain();
            }
            if (increaseRain)
            {
                m_WeatherManager.IncreaseRain();
            }
            if (thunderDelay > 0.0f)
            {
                m_WeatherManager.IncreaseThunderDelay(thunderDelay);
            }
            if (thunderDelay < 0.0f)
            {
                m_WeatherManager.ReduceThunderDelay(-thunderDelay);
            }
            if (lightningFreq > 0.0f)
            {
                m_WeatherManager.IncreaseLightningFrequency(lightningFreq);
            }
            if (lightningFreq < 0.0f)
            {
                m_WeatherManager.ReduceLightningFrequency(-lightningFreq);
            }

            gameObject.SetActive(false);
        }

        if (finalTrigger)
        {
            Camera.main.SendMessage("EndMusic");
            GameObject GO = GameObject.FindGameObjectWithTag("Lightning");
            if (GO != null)
            {
                GO.SetActive(false);
            }
        }
    }