IEnumerator ApplyPositions() { yield return(new WaitUntil(() => GameManager.k_Manager.CharactersUp)); yield return(new WaitUntil(() => GameManager.k_Manager.EnemiesUp)); foreach (Transform tp_spawn in transform) { if (tp_spawn.name == "SpawnPoint" && tp_spawn.transform.FindChild("Character(Clone)") != null) { while (true) { if (Column1.Contains(tp_spawn)) { SetPosition(tp_spawn, 1, true); break; } if (Column2.Contains(tp_spawn)) { SetPosition(tp_spawn, 2, true); break; } if (Column3.Contains(tp_spawn)) { SetPosition(tp_spawn, 3, true); break; } if (Column4.Contains(tp_spawn)) { SetPosition(tp_spawn, 4, true); break; } } while (true) { if (Row1.Contains(tp_spawn)) { SetPosition(tp_spawn, 1, false); break; } if (Row2.Contains(tp_spawn)) { SetPosition(tp_spawn, 2, false); break; } if (Row3.Contains(tp_spawn)) { SetPosition(tp_spawn, 3, false); break; } if (Row4.Contains(tp_spawn)) { SetPosition(tp_spawn, 4, false); break; } } ApplyPositionToCharacter(tp_spawn.transform.FindChild("Character(Clone)").GetComponent <CharacterClass> ()); } } GameManager.k_Manager.Applied = true; }