Пример #1
0
 public void AddFollower(DiversionMinion dm)
 {
     if (!followers.Contains(dm))
     {
         followers.Add(dm);
     }
 }
Пример #2
0
 public void TellAboutNewFollower(DiversionMinion dm)
 {
     if (!followers.Contains(dm))
     {
         followers.Add(dm);
     }
 }
Пример #3
0
 public void AddFollower(DiversionMinion dm)
 {
     if(!followers.Contains(dm))
         followers.Add(dm);
 }
Пример #4
0
    public void SpawnBatch()
    {
        if (!spawnsDone[0])
        {
            //spawn first set
            for (int i = 0; i < 4; i++)
            {
                GameObject enemyspawn = GameObject.Instantiate(Resources.Load("Prefabs/MainCanvas/Enemy")) as GameObject;
                Destroy(enemyspawn.GetComponent <Enemy>());
                DiversionMinion minion = enemyspawn.AddComponent <DiversionMinion>() as DiversionMinion;
                enemyspawn.transform.SetParent(Dial.spawnLayer, false);
                minion.numberOfFollowers = numberOfFollowers;
                minion.leader            = this;
                minion.SetSrcFileName("diversionminion");
                minion.SetTrackID(trackID);
                minion.SetTrackLane(trackLane);
                minion.groupAddedToBonus = groupAddedToBonus;
                if (i == 0)
                {
                    minion.OverrideMoverLane(9f);
                }
                else if (i == 1)
                {
                    minion.OverrideMoverLane(3f);
                }
                else if (i == 2)
                {
                    minion.OverrideMoverLane(-3f);
                }
                else if (i == 3)
                {
                    minion.OverrideMoverLane(-9f);
                }

                followers.Add(minion);
                foreach (DiversionMinion dm in followers)
                {
                    dm.AddFollower(minion);
                    minion.AddFollower(dm);
                }
                minion.SetPositionBasedOnAngle();
                minion.StartMoving();
            }
            spawnsDone[0] = true;
            delay         = batch2;
        }
        else if (!spawnsDone[1])
        {
            //spawn second set
            for (int i = 0; i < 3; i++)
            {
                GameObject enemyspawn = GameObject.Instantiate(Resources.Load("Prefabs/MainCanvas/Enemy")) as GameObject;
                Destroy(enemyspawn.GetComponent <Enemy>());
                DiversionMinion minion = enemyspawn.AddComponent <DiversionMinion>() as DiversionMinion;
                enemyspawn.transform.SetParent(Dial.spawnLayer, false);
                minion.numberOfFollowers = numberOfFollowers;
                minion.leader            = this;
                minion.SetSrcFileName("diversionminion");
                minion.SetTrackID(trackID);
                minion.SetTrackLane(trackLane);
                minion.groupAddedToBonus = groupAddedToBonus;
                if (i == 0)
                {
                    minion.OverrideMoverLane(7.5f);
                }
                else if (i == 1)
                {
                    minion.OverrideMoverLane(0f);
                }
                else if (i == 2)
                {
                    minion.OverrideMoverLane(-7.5f);
                }

                followers.Add(minion);
                foreach (DiversionMinion dm in followers)
                {
                    dm.AddFollower(minion);
                    minion.AddFollower(dm);
                }
                minion.SetPositionBasedOnAngle();
                minion.StartMoving();
            }
            spawnsDone[1] = true;
            delay         = batch3;
        }
        else if (!spawnsDone[2])
        {
            //spawn third set
            Debug.Log("spawning third wave");
            for (int i = 0; i < 2; i++)
            {
                GameObject enemyspawn = GameObject.Instantiate(Resources.Load("Prefabs/MainCanvas/Enemy")) as GameObject;
                Destroy(enemyspawn.GetComponent <Enemy>());
                DiversionMinion minion = enemyspawn.AddComponent <DiversionMinion>() as DiversionMinion;
                enemyspawn.transform.SetParent(Dial.spawnLayer, false);
                minion.numberOfFollowers = numberOfFollowers;
                minion.leader            = this;
                minion.SetSrcFileName("diversionminion");
                minion.SetTrackID(trackID);
                minion.SetTrackLane(trackLane);
                minion.groupAddedToBonus = groupAddedToBonus;
                if (i == 0)
                {
                    minion.OverrideMoverLane(-5f);
                }
                else if (i == 1)
                {
                    minion.OverrideMoverLane(5f);
                }

                followers.Add(minion);
                foreach (DiversionMinion dm in followers)
                {
                    dm.AddFollower(minion);
                    minion.AddFollower(dm);
                }
                minion.SetPositionBasedOnAngle();
                minion.StartMoving();
            }
            spawnsDone[2] = true;
            delay         = batch4;
        }
        else if (!spawnsDone[3])
        {
            //spawn fourth set
            Debug.Log("spawning fourth wave");
            GameObject enemyspawn = GameObject.Instantiate(Resources.Load("Prefabs/MainCanvas/Enemy")) as GameObject;
            Destroy(enemyspawn.GetComponent <Enemy>());
            DiversionMinion minion = enemyspawn.AddComponent <DiversionMinion>() as DiversionMinion;
            enemyspawn.transform.SetParent(Dial.spawnLayer, false);
            minion.numberOfFollowers = numberOfFollowers;
            minion.leader            = this;
            minion.SetSrcFileName("diversionminion");
            minion.SetTrackID(trackID);
            minion.SetTrackLane(trackLane);
            minion.OverrideMoverLane(0f);
            minion.groupAddedToBonus = groupAddedToBonus;

            followers.Add(minion);
            foreach (DiversionMinion dm in followers)
            {
                dm.AddFollower(minion);
                minion.AddFollower(dm);
            }
            minion.SetPositionBasedOnAngle();
            minion.StartMoving();

            spawnsDone[3] = true;
            doneSpawning  = true;
        }
        else
        {
            Debug.Log("we're trying to spawn even though we're done");
        }
    }
Пример #5
0
 public void TellAboutNewFollower(DiversionMinion dm)
 {
     if(!followers.Contains(dm))
         followers.Add(dm);
 }