Пример #1
0
    public void DropSpear()
    {
        FileLoader fl = new FileLoader("JSONData" + Path.DirectorySeparatorChar + "Bestiary", "tipofthespear");
        string     actualenemyjson = fl.Read();
        Dictionary <string, System.Object> actualenemydict = Json.Deserialize(actualenemyjson) as Dictionary <string, System.Object>;
        string filename = "tipofthespear";
        int    track    = SpawnIndexToZoneID(spawnIdx);
        int    trackpos = 0;

        GameObject enemyobj = GameObject.Instantiate(Resources.Load("Prefabs/MainCanvas/Enemy")) as GameObject;

        GameObject.Destroy(enemyobj.GetComponent <Enemy>());
        TipOfTheSpear tots = enemyobj.AddComponent <TipOfTheSpear>() as TipOfTheSpear;

        enemyobj.transform.SetParent(Dial.spawnLayer, false);
        float chaindelay = (float)(double)actualenemydict["delay"];

        tots.SetDelay(chaindelay);
        tots.leader = true;

        tots.SetSrcFileName(filename);
        tots.SetTrackID(track);
        tots.SetTrackLane(trackpos);
        //calculate and set position
        float degrees = (track - 1) * 60;        //clockwise of y-axis

        degrees += 15 * trackpos;                //negative trackpos is left side, positive is right side, 0 is middle
        degrees  = ((360 - degrees) + 90) % 360; //convert to counterclockwise of x axis
        degrees *= Mathf.Deg2Rad;
        ((RectTransform)enemyobj.transform).anchoredPosition = new Vector2(Dial.ENEMY_SPAWN_LENGTH * Mathf.Cos(degrees),
                                                                           Dial.ENEMY_SPAWN_LENGTH * Mathf.Sin(degrees));
        tots.spawnedByBoss = true;
        tots.StartMoving();
    }
Пример #2
0
    public void SpawnBatch()
    {
        if (!spawnsDone[0])
        {
            //spawn first set
            for (int i = 0; i < 2; i++)
            {
                GameObject enemyspawn = GameObject.Instantiate(Resources.Load("Prefabs/MainCanvas/Enemy")) as GameObject;
                Destroy(enemyspawn.GetComponent <Enemy>());
                TipOfTheSpear minion = enemyspawn.AddComponent <TipOfTheSpear>() as TipOfTheSpear;
                enemyspawn.transform.SetParent(Dial.spawnLayer, false);
                RectTransform ert = enemyspawn.GetComponent <RectTransform>();
                ert.anchoredPosition     = originalSpot;
                minion.numberOfFollowers = numberOfFollowers;
                minion.SetSrcFileName("tipofthespear");
                minion.SetTrackID(trackID);
                minion.SetTrackLane(trackLane);
                minion.groupAddedToBonus = groupAddedToBonus;
                if (i == 0)
                {
                    minion.OverrideMoverLane(7.5f);
                }
                else if (i == 1)
                {
                    minion.OverrideMoverLane(-7.5f);
                }

                AddPartner(minion);
                minion.AddPartner(this);
                foreach (TipOfTheSpear tots in partners)
                {
                    tots.AddPartner(minion);
                    minion.AddPartner(tots);
                }
                minion.StartMoving();
            }
            spawnsDone[0] = true;
            delay         = batch2;
        }
        else if (!spawnsDone[1])
        {
            //spawn second set
            for (int i = 0; i < 2; i++)
            {
                GameObject enemyspawn = GameObject.Instantiate(Resources.Load("Prefabs/MainCanvas/Enemy")) as GameObject;
                Destroy(enemyspawn.GetComponent <Enemy>());
                TipOfTheSpear minion = enemyspawn.AddComponent <TipOfTheSpear>() as TipOfTheSpear;
                enemyspawn.transform.SetParent(Dial.spawnLayer, false);
                RectTransform ert = enemyspawn.GetComponent <RectTransform>();
                ert.anchoredPosition     = originalSpot;
                minion.numberOfFollowers = numberOfFollowers;
                minion.SetSrcFileName("tipofthespear");
                minion.SetTrackID(trackID);
                minion.SetTrackLane(trackLane);
                minion.groupAddedToBonus = groupAddedToBonus;
                if (i == 0)
                {
                    minion.OverrideMoverLane(15f);
                }
                else if (i == 1)
                {
                    minion.OverrideMoverLane(-15f);
                }

                AddPartner(minion);
                minion.AddPartner(this);
                foreach (TipOfTheSpear tots in partners)
                {
                    tots.AddPartner(minion);
                    minion.AddPartner(tots);
                }
                minion.StartMoving();
            }

            spawnsDone[1] = true;
            doneSpawning  = true;
        }
        else
        {
            Debug.Log("we're trying to spawn even though we're done");
        }
    }