using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.UI; public class PlayCtrl : SingletonMonoBehaviour { public GameObject camera; public float speed; float move = 0; public Slider slider; float summons; int stage; public Animator anim; public GameObject newBuildingUI; public GameObject buildingLevelupUI; public GameObject backButton; UnitCtrl[] units; [SerializeField] Button buyButton; public TMP_Text buyText; [SerializeField] Button sellButton; public TMP_Text sellText; public TMP_Text moneyText; public Image[] unitSpriteButton; public TMP_Text[] unitTextButton; public SummonsUnit player; public SummonsUnit enemy; public BuildingCtrl buildingCtrl; public bool isEndGame; private float delay; public int money; protected override void OnAwake() { summons = 0.1f; slider.value = 0; stage = 0; money = 0; moneyText.text = money.ToString(); isEndGame = false; delay = 0.0f; units = new UnitCtrl[9]; units[0] = Statics.longUnits[Statics.itemManager.box.FindDeckUnitInfo(Statics.deck_info[0].deck_unit0_id).unit_data_id].GetComponent(); units[1] = Statics.longUnits[Statics.itemManager.box.FindDeckUnitInfo(Statics.deck_info[0].deck_unit1_id).unit_data_id].GetComponent(); units[2] = Statics.longUnits[Statics.itemManager.box.FindDeckUnitInfo(Statics.deck_info[0].deck_unit2_id).unit_data_id].GetComponent(); units[3] = Statics.longUnits[Statics.itemManager.box.FindDeckUnitInfo(Statics.deck_info[0].deck_unit3_id).unit_data_id].GetComponent(); units[4] = Statics.longUnits[Statics.itemManager.box.FindDeckUnitInfo(Statics.deck_info[0].deck_unit4_id).unit_data_id].GetComponent(); units[5] = Statics.longUnits[Statics.itemManager.box.FindDeckUnitInfo(Statics.deck_info[0].deck_unit5_id).unit_data_id].GetComponent(); units[6] = Statics.longUnits[Statics.itemManager.box.FindDeckUnitInfo(Statics.deck_info[0].deck_unit6_id).unit_data_id].GetComponent(); units[7] = Statics.longUnits[Statics.itemManager.box.FindDeckUnitInfo(Statics.deck_info[0].deck_unit7_id).unit_data_id].GetComponent(); units[8] = Statics.longUnits[Statics.itemManager.box.FindDeckUnitInfo(Statics.deck_info[0].deck_unit8_id).unit_data_id].GetComponent(); for (int n = 0; n < unitSpriteButton.Length; n++) { unitSpriteButton[n].sprite = units[n].unitSprite; unitTextButton[n].text = units[n].unit.buy[0].ToString(); units[n].unit.DeckUnitInfoSet(); } //Å×½ºÆ®¿ë ÀÏ´ÜÀº À̰÷¿¡¼­ Àӽà ó¸® Statics.chapter = 101; uiExit(); } public void MoveCamera(float move) { this.move = move; } public void CtrlButton() { anim.SetTrigger("MoveUI"); } private void Update() { if (isEndGame) { delay += Time.deltaTime; if(delay > 3.0f) { //°ÔÀÓ¾ÀÀ¸·Î À̵¿ GameManager.Instance.NextScene(GameManager.eScene.Game); } return; } float deltaTime = Time.deltaTime; camera.transform.position += Vector3.left * speed * deltaTime * move; if (camera.transform.position.x < -40) { camera.transform.position = new Vector3(-40, 0, -10); } if (camera.transform.position.x > 40) { camera.transform.position = new Vector3(40, 0, -10); } slider.value += Time.deltaTime / 30; if (slider.value >= 1) { slider.value -= 1; summons = 0.1f; stage++; enemy.EnemyStageSet(stage); } if (summons < slider.value) { int count = (int)(summons / 0.2); player.Summons(count); enemy.Summons(count); summons += 0.2f; } } public void uiExit() { newBuildingUI.SetActive(false); buildingLevelupUI.SetActive(false); backButton.SetActive(false); buildingCtrl = null; } public void SelectUnit(int count) { buildingCtrl.NewBuilding(units[count], units[count].unitSprite); uiExit(); } public void DeleteBuilding() { buildingCtrl.DeletBuilding(); uiExit(); } public void LevelUpBuilding() { buildingCtrl.LevelUp(); uiExit(); } public void LevelupBuyAndSellText(int buy, int sell) { if (buy == -1) { buyButton.interactable = false; buyText.text = $"°­È­(0)"; } else { buyButton.interactable = true; buyText.text = $"°­È­({buy})"; } if (sell == -1) { sellButton.interactable = false; sellText.text = $"°Ç¹° Á¦°Å(0)"; } else { sellButton.interactable = true; sellText.text = $"°Ç¹° Á¦°Å({sell})"; } } public void TextUpdate(int addMoney) { if (money != int.Parse(moneyText.text)) Debug.LogError("¹ö±×¹ß°ß"); money += addMoney; if(money < 0) money = 0; else if(money > 999999) money = 999999; moneyText.text = money.ToString(); } public void OnSetting() { SettingWindws.Instance.SetUI(false); } }