protected void Place() { if (!placeable) { return; } placing = false; ButtonScript.placing = false; RemoveCircle(); player.AddCell(this); }
IEnumerator LoadGame() { DontDestroyOnLoad(gameObject); sceneHandler.LoadScene(1 + loadedSave.level); while (waveHandler == null || playerHandler == null) { yield return(new WaitForSeconds(0.5f)); waveHandler = GameObject.Find("WaveHandler").GetComponent <WaveHandler>(); playerHandler = GameObject.Find("PlayerHandler").GetComponent <PlayerHandler>(); } waveHandler.currentWave = loadedSave.waveNumber; waveHandler.spawnDelay = loadedSave.spawnDelay; waveHandler.LoadWave(); playerHandler.money = loadedSave.money; playerHandler.health = loadedSave.health; foreach (CellWrapper cell in loadedSave.cells) { float posX = cell.posX; float posY = cell.posY; GameObject g = null; switch (cell.type) { case 'n': g = Instantiate(cellPrefabs[0], new Vector3(posX, posY, 1), transform.rotation); break; case 'm': g = Instantiate(cellPrefabs[1], new Vector3(posX, posY, 1), transform.rotation); break; case 'l': g = Instantiate(cellPrefabs[2], new Vector3(posX, posY, 1), transform.rotation); break; case 'b': g = Instantiate(cellPrefabs[3], new Vector3(posX, posY, 1), transform.rotation); break; case 't': g = Instantiate(cellPrefabs[4], new Vector3(posX, posY, 1), transform.rotation); break; } Cell cellScript = g.GetComponent <Cell>(); if (cell.upgrade1) { cellScript.Upgrade1(); } if (cell.upgrade2) { cellScript.Upgrade2(); } cellScript.killCount = cell.killCount; cellScript.damageDone = cell.dmgCount; playerHandler.AddCell(cellScript); } Destroy(gameObject); yield return(null); }