// Use this for initialization void Start() { //string array holding all games states: row / col / tiles / start row+col / end row+col / bananas gameStates = new string[] { "3 3 11111c11c 3 1 1 3 xxxxxxxxxxxx", "4 4 11111c1111c1c11c 4 3 3 4 xxxxxxxxxxxxxxxxxxxxxxxx", "3 3 11111c11c 3 1 1 3 xxxxxbxxxxxx", "3 3 11111c11c 3 1 1 3 bxxxxbxxxxxx", "3 3 111111111 3 1 1 1 xbxbxbxxxxxx", "4 4 1111111111111111 4 3 2 3 bxxbxxxxbxxbxxxxxxxxxxxx", "5 5 1111111111111111111111111 3 5 3 3 xxxbbbxxbxxxxxxxxxxxxxxbxxxxxxbbxxxbbxxx", "3 3 c1c12111c 3 1 2 3 xxxxxbxxbxxx", "4 3 111121121c11 3 1 4 2 bbxxbbbxxxxxxxxxx", "4 4 c111121121211c11 1 4 2 4 xxxxbxxbxxxxbxbxbxxxxxxb", "4 4 11111211111ccc11 1 1 4 4 xxbxbxxxxxxbxxxbxxxbxxxx", "3 4 c1111211c121 3 2 2 1 xbxxxxbbbxxxbxxxb", "4 4 1111112112111111 3 4 1 4 xbxxxbxxbbxbbxbbxxxxxxxx", "1 5 1111b 1 2 1 1 xbbb", "3 3 11b11c11c 1 2 1 1 xxxxxbxxbxbx", "4 4 1111bc11111c111n 3 1 1 4 xbxxxxxxxxxxxxxxxxbxxxbx" }; generator = GameObject.FindGameObjectWithTag("GameController").GetComponent <gridRoot> (); player = GameObject.FindGameObjectWithTag("Monkey").GetComponent <Monkey> (); bananaGen = GameObject.FindGameObjectWithTag("GameController").GetComponent <BananaGenerator>(); levelDefeat(); player.GetComponent <Monkey>().setGrid(generator.objectGrid); }
IEnumerator generate() { //wait for first map to be generated (otherwise this will be overrided yield return(new WaitForSeconds(1f)); GM = GameObject.FindGameObjectWithTag("GameMaster").GetComponent <gameMaster> (); BananaGenerator bananaGen = GameObject.FindGameObjectWithTag("GameController").GetComponent <BananaGenerator> (); Monkey player = GameObject.FindGameObjectWithTag("Monkey").GetComponent <Monkey> (); //follow standard level generation steps - see GameMaster script string[] splitState = GM.gameStates [level].Split(' '); int rows = Int32.Parse(splitState [0]); int cols = Int32.Parse(splitState [1]); string state = splitState [2]; int startRow = Int32.Parse(splitState [3]); int startCol = Int32.Parse(splitState [4]); int endRow = Int32.Parse(splitState [5]); int endCol = Int32.Parse(splitState [6]); string bananaString = splitState[7]; gridRoot generator = GameObject.FindGameObjectWithTag("GameController").GetComponent <gridRoot> (); foreach (List <GameObject> r in generator.objectGrid) { foreach (GameObject g in r) { Destroy(g); } r.Clear(); } generator.objectGrid.Clear(); foreach (GameObject b in bananaGen.bananaList) { Destroy(b); } generator.actualGenerateGrid(rows, cols, state, startRow, startCol, endRow, endCol); //generator.generateTransposedGrid(rows, cols, state, startRow, startCol, endRow, endCol); bananaGen.GenerateBananas(rows, cols, bananaString); GameObject obj = generator.objectGrid [startRow - 1] [startCol - 1]; //Stop motion player.StopMovement(); player.birded = false; player.birdMoves = 0; // Move to new start player.transform.position = new Vector3(obj.transform.position.x, player.transform.position.y, obj.transform.position.z); //obj.transform.position.z player.bananaCount = 0; GM.currentLevel = level; }