IEnumerator LoadLevelIntitial(int playerCount, Sprite p1Sprite, Sprite p2Sprite, Sprite p3Sprite, Sprite p4Sprite, Color p1C, Color p2C, Color p3C, Color p4C)
{
cameraThing = GameObject.Find("AutoZoomCamParent");
countDownText = cameraThing.transform.parent.FindChild("CountdownText").GetComponent<GUIText>();
countDownBackground = cameraThing.transform.parent.FindChild("CountdownBackground").GetComponent<GUITexture>();
scoreBoard = cameraThing.transform.parent.FindChild("Scoreboard").GetComponent<GUITexture>();
gameOverText = scoreBoard.transform.FindChild("GameOver").GetComponent<GUIText>();
score1 = scoreBoard.transform.FindChild("Score1").FindChild("Score").GetComponent<GUIText>();
scorePlayer1 = scoreBoard.transform.FindChild("Score1").FindChild("Icon").GetComponent<GUITexture>();
score2 = scoreBoard.transform.FindChild("Score2").FindChild("Score").GetComponent<GUIText>();
scorePlayer2 = scoreBoard.transform.FindChild("Score2").FindChild("Icon").GetComponent<GUITexture>();
if (playerCount < 2) {
score2.gameObject.SetActive(false);
scorePlayer2.gameObject.SetActive(false);
}
score3 = scoreBoard.transform.FindChild("Score3").FindChild("Score").GetComponent<GUIText>();
scorePlayer3 = scoreBoard.transform.FindChild("Score3").FindChild("Icon").GetComponent<GUITexture>();
if (playerCount < 3) {
score3.gameObject.SetActive(false);
scorePlayer3.gameObject.SetActive(false);
}
score4 = scoreBoard.transform.FindChild("Score4").FindChild("Score").GetComponent<GUIText>();
scorePlayer4 = scoreBoard.transform.FindChild("Score4").FindChild("Icon").GetComponent<GUITexture>();
if (playerCount < 4) {
score4.gameObject.SetActive(false);
scorePlayer4.gameObject.SetActive(false);
}
scorePlayer1.texture = p1Sprite.texture;
scorePlayer2.texture = p2Sprite.texture;
scorePlayer3.texture = p3Sprite.texture;
scorePlayer4.texture = p4Sprite.texture;
scorePlayer1.color = new Color(p1C.r/2, p1C.g/2, p1C.b/2);
scorePlayer2.color = new Color(p2C.r/2, p2C.g/2, p2C.b/2);
scorePlayer3.color = new Color(p3C.r/2, p3C.g/2, p3C.b/2);
scorePlayer4.color = new Color(p4C.r/2, p4C.g/2, p4C.b/2);
SetTransparency(0);
/*playerCount = 0;
GameObject g;
while ((g=GameObject.Find("Player" + playerCount)) != null && g.activeInHierarchy) playerCount++; */
players = new GameObject[playerCount];
playerScores = new int[4];
for (int i = 1; i <= playerCount; i++) {
GameObject gg = GameObject.Find("Player" + i);
if (gg.activeInHierarchy)
players[i-1] = gg;
}
if (loadInstantly) for (int i = playerCount + 1; i <= 4; i++) GameObject.Find("Player" + i).transform.parent.gameObject.SetActive(false);
for (int i = 0; i < playerCount; i++) {
players[i].SendMessage("DisablePlayers");
}
GameObject.Find("MouseInput").SendMessage("DisablePlayers");
currentMapIndex = 4; // 0 1 2 We are at 4, the center
// 3 4 5
// 6 7 8
//Spawn map
int sceneIndex = levelPlan[0];
yield return SceneManager.LoadSceneAsync(sceneIndex, LoadSceneMode.Additive);
lastScene = sceneIndex;
if (!myCamera) myCamera = GameObject.Find ("AutoZoomCamParent");
//Spawn players
//Scene loadedScene = SceneManager.GetSceneAt(lastScene-1);
//GameObject sceneRoot = loadedScene.GetRootGameObjects()[0];
/*for (int i = 0; i < playerCount - 1; i++) {
players[i].transform.position = GameObject.Find("Player" + (i+1) + "Spawn").transform.position;
}*/
SpriteSet.ApplySprites(spriteSet); //Apply sprites for this stage
RespawnPeeps ();
readyToStart = true;
/*for (int i = 0; i < playerCount; i++) {
//Every prefab (scene) is going to need something like Player1Spawn, except for all players.
GameObject.Instantiate(players[i], GameObject.Find("Player" + (i+1) + "Spawn").transform.position, Quaternion.identity);
}*/
//print("stuff");
//yield break;
}