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(); }
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"); } }