예제 #1
0
 private void OnTriggerEnter2D(Collider2D other)
 {
     if (other.tag == "Player" && !spawner.IsActivated())
     {
         spawner.Activate();
         Destroy(gameObject);
     }
 }
예제 #2
0
 private void OnTriggerEnter(Collider other)
 {
     if (other.GetComponent <Player>() != null || other.GetComponentInParent <Player>() != null)
     {
         spawnerToActivate.Activate();
         gameObject.SetActive(false);
     }
 }
예제 #3
0
        public void SpiderFearTrigger()
        {
            GameObject spiderSpwaner = Instantiate(spwanerPrefab, new Vector3(0, 0, 0), Quaternion.identity, RoomManager._instance.current_map.transform);
            Spawner    spSpwaner     = spiderSpwaner.GetComponent <Spawner>();

            spSpwaner.minCount = 15;
            spSpwaner.maxCount = 20;
            spSpwaner.Activate(1);
        }
예제 #4
0
        public void Setup(AsteroidSettings asteroidSettings)
        {
            _initialVelocity = asteroidSettings.InitialVelocity;
            _maxVelocity     = asteroidSettings.MaxVelocity;
            _maxTorque       = asteroidSettings.MaxTorque;
            _scorePoints     = asteroidSettings.ScorePoints;

            if (asteroidSettings.SpawnOnDestroy)
            {
                _spawnSettings = asteroidSettings.SpawnOnDestroySettings;
                _spawner.Activate(_spawnSettings);
            }
            else
            {
                _spawnSettings = null;
            }

            Activate();
        }
예제 #5
0
    IEnumerator <float> WaitAndSpawn(float waitTime)
    {
        if (lastWave > 0 && currentSpawner > lastWave - 1)
        {
            if (currentSpawner >= spawners.Count)
            {
                currentSpawner = lastWave;
            }
        }

        if (currentSpawner < spawners.Count)
        {
            //wave complete
//            Debug.Log("wave complete");
            EventSystem.Instance.TriggerEvent(Strings.Events.WAVE_COMPLETE, waveNumber);
            if (waveNumber != 0)
            {
                //SFXManager.Instance.Play(SFXType.AnnounceLevelStart, Vector3.zero);
                GameObject fireworks = ObjectPool.Instance.GetObject(PoolObjectType.VFXFireworks);
                if (fireworks)
                {
                    GameObject player = GameObject.FindGameObjectWithTag("Player");
                    if (player)
                    {
                        fireworks.transform.position = player.transform.position;
                    }
                }
            }

            waveNumber++;
            time    = spawners[currentSpawner].Time;
            spawner = spawners[currentSpawner++].Prefab.GetComponent <Spawner>();
            AnalyticsManager.Instance.IncrementWave();
            yield return(Timing.WaitForSeconds(waitTime));

            spawner.Activate();
        }
        else
        {
            LevelClear = true;
            AnalyticsManager.Instance.SetCurrentLevelTime(levelTime);
        }
    }
예제 #6
0
 public void OnPlay()
 {
     if (HustleMode)
     {
         AudioManager.clip = DoggoHustle;
         AudioManager.Play();
         Rotator.Activate();
     }
     else
     {
         if (AudioManager.clip == DoggoHustle)
         {
             AudioManager.clip = NomDogSong;
             AudioManager.Play();
         }
     }
     GameState = State.Playing;
     HustleModeButton.SetActive(false);
     Spawner.Activate(HustleMode);
     ScoreText.gameObject.SetActive(true);
     TitleScreen.SetActive(false);
 }
예제 #7
0
 public static void StartGame()
 {
     Spawner.Activate();
 }