Пример #1
0
 public Vector2 GetBossPos(float rad, float checkRad)
 {
     if (chara != null)
     {
         int iter = 0;
         while (iter < 1000)
         {
             if (chara.closestPlanet != null)
             {
                 GravityBody planet = chara.closestPlanet.GetComponent <GravityBody>();
                 if (planet != null)
                 {
                     Vector2 checkVector = new Vector2(Random.Range(-1.0f, 1.0f), Random.Range(-1.0f, 1.0f)).normalized;
                     if (!Physics2D.OverlapCircle((Vector2)chara.closestPlanet.position + checkVector * chara.closestPlanet.GetComponent <GravityBody>().gravityDistance *rad, checkRad, planet.planetLayer))
                     {
                         return((Vector2)chara.closestPlanet.position + checkVector * chara.closestPlanet.GetComponent <GravityBody>().gravityDistance *rad);
                     }
                 }
                 else
                 {
                     return(GravityBody.GetSpawnPos(rad, checkRad));
                 }
             }
             else
             {
                 return(GravityBody.GetSpawnPos(rad, checkRad));
             }
         }
     }
     return(Vector2.zero);
 }
Пример #2
0
 void SpawnWave(Wave waveToSpawn)
 {
     for (int i = 0; i < enemies.Length; i++)
     {
         for (int j = 0; j < waveToSpawn.amounts[i]; j++)
         {
             Instantiate(enemies[i], GravityBody.GetSpawnPos(), MathOperations.LookAt2D(transform.position, chara.transform.position, 90));
         }
     }
     chara.ConfigurePointers();
     chara.hp = chara.maxHp;
 }
Пример #3
0
    IEnumerator SpawnBoss(float delay)
    {
        music.clip = bossMusic;
        music.Play();
        GameObject go = Instantiate(bossWavePrefab);

        go.transform.SetParent(messagePad.transform);
        yield return(new WaitForSeconds(delay));

        GameObject g = Instantiate(boss, GravityBody.GetSpawnPos(), MathOperations.LookAt2D(transform.position, chara.transform.position, 90));

        chara.ConfigurePointers();
        chara.hp = chara.maxHp;
        waveIndex++;
        started = false;
    }