/// <summary> /// Build fuction for tower. /// Attached TowerBuildUI's buttons. /// </summary> public void BuildTower() { if (my_gameController.GetCurrency() > 0) { buttonName = EventSystem.current.currentSelectedGameObject.name; Debug.Log("create: " + buttonName); switch (buttonName) { case "Tower1": my_GameUI.BuyTower(Tower1, my_inputController.buildPosition, new Quaternion(0, 0, 0, 0)); my_currencyController.ChangeCurrency(-Tower1.GetComponent <Tower>().buildCost); activeTowerPlace.isOccupied = true; break; case "Tower2": my_GameUI.BuyTower(Tower2, my_inputController.buildPosition, new Quaternion(0, 0, 0, 0)); my_currencyController.ChangeCurrency(-Tower2.GetComponent <Tower>().buildCost); activeTowerPlace.isOccupied = true; break; case "Tower3": my_GameUI.BuyTower(Tower3, my_inputController.buildPosition, new Quaternion(0, 0, 0, 0)); my_currencyController.ChangeCurrency(-Tower3.GetComponent <Tower>().buildCost); activeTowerPlace.isOccupied = true; break; case "Tower4": my_GameUI.BuyTower(Tower4, my_inputController.buildPosition, new Quaternion(0, 0, 0, 0)); my_currencyController.ChangeCurrency(-Tower4.GetComponent <Tower>().buildCost); activeTowerPlace.isOccupied = true; break; default: break; } this.gameObject.SetActive(false); } }
IEnumerator FireDelay() { isBuild = false; progressBar.SetActive(false); transform.Find("Soil").GetComponent <Button>().interactable = false; transform.Find("Soil").GetComponent <EventTrigger>().enabled = false; progressBar.transform.Find("Image").GetComponent <Image>().fillAmount = 0; if (tower1.activeInHierarchy) { Tower1 code = tower1.GetComponent <Tower1>(); image1.SetActive(false); towerImage1.SetActive(true); range1.GetComponent <PolygonCollider2D>().enabled = true; range1.GetComponent <Range1>().enabled = true; selfAudioSource.clip = code.audioClips[code.SwitchAudio % 3]; selfAudioSource.Play(); tower1.transform.Find("Archer1").gameObject.SetActive(true); tower1.transform.Find("Archer2").gameObject.SetActive(true); code.SwitchAudio++; yield return(new WaitForSeconds(1.5f)); range1.GetComponent <Range1>().isStart = true; } else if (tower2.activeInHierarchy) { Tower2 code = tower2.GetComponent <Tower2>(); image2.SetActive(false); towerImage2.SetActive(true); range2.GetComponent <Range2>().isFirst = 1; range2.GetComponent <Range2>().enabled = true; selfAudioSource.clip = code.audioClips[code.SwitchAudio % 4]; selfAudioSource.Play(); code.SwitchAudio++; } else if (tower3.activeInHierarchy) { Tower3 code = tower3.GetComponent <Tower3>(); image3.SetActive(false); towerImage3.SetActive(true); range3.GetComponent <PolygonCollider2D>().enabled = true; range3.GetComponent <Range3>().enabled = true; selfAudioSource.clip = code.audioClips[code.SwitchAudio % 3]; selfAudioSource.Play(); tower3.transform.Find("Mage").gameObject.SetActive(true); code.SwitchAudio++; yield return(new WaitForSeconds(1.5f)); range3.GetComponent <Range3>().isStart = true; } else if (tower4.activeInHierarchy) { Tower4 code = tower4.GetComponent <Tower4>(); image4.SetActive(false); towerImage4.SetActive(true); range4.GetComponent <PolygonCollider2D>().enabled = true; range4.GetComponent <Range4>().enabled = true; selfAudioSource.clip = code.audioClips[code.SwitchAudio % 3]; selfAudioSource.Play(); code.SwitchAudio++; yield return(new WaitForSeconds(1.5f)); range4.GetComponent <Range4>().isStart = true; } }