using MEC; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class BuildingCtrl : MonoBehaviour { public bool isProduction; public int lineCount; public int buildingLevel; UnitCtrl unitInfo; Image img; private void Start() { Timing.RunCoroutine(BuildingSet()); } private IEnumerator BuildingSet() { yield return Timing.WaitForSeconds(0.1f); //uiÀçÁ¤·Ä RectTransform rt = gameObject.GetComponent(); RectTransform changeRt = gameObject.GetComponentsInChildren()[1]; img = changeRt.GetComponent(); float sizeSet = (rt.sizeDelta.y / 2) - 10; changeRt.offsetMin = new Vector2(-sizeSet, 10.0f); changeRt.offsetMax = new Vector2(sizeSet, -10.0f); } public void Button() { if(isProduction || buildingLevel != 0)//»ý»ê°Ç¹° À̰ųª ÀϹݰǹ° ·¹º§¾÷ { int sell = 0; for (int n = 0; n < buildingLevel; n++) { sell += unitInfo.unit.buy[n]; } sell /= 3; PlayCtrl.Instance.LevelupBuyAndSellText(unitInfo.unit.buy[buildingLevel], sell); PlayCtrl.Instance.buildingLevelupUI.SetActive(true); PlayCtrl.Instance.newBuildingUI.SetActive(false); PlayCtrl.Instance.backButton.SetActive(true); } else //½Å±Ô°Ç¹° »ý»ê { PlayCtrl.Instance.buildingLevelupUI.SetActive(false); PlayCtrl.Instance.newBuildingUI.SetActive(true); PlayCtrl.Instance.backButton.SetActive(true); } //³ªÀÇ Á¤º¸¸¦ PlayCtrl¿¡ Àü´ÞÈÄ Æ¯Á¤ »óȲÀÌ µÇ¸é »óÈ£ÀÛ¿ë ÇÏ°Ô ¸¸µé±â PlayCtrl.Instance.buildingCtrl = this; } public void LevelUp() { if (buildingLevel >= 5) { Debug.Log("°Ç¹°ÀÌ ÃÖ´ë ·¹º§ ÀÔ´Ï´Ù."); return; } if (!isProduction) { if(unitInfo.unit.buy[buildingLevel] > PlayCtrl.Instance.money) { Debug.Log("±¸¸Åºñ¿ëÀÌ ºÎÁ·ÇÕ´Ï´Ù"); if (buildingLevel == 0) DeletBuilding(); return; } PlayCtrl.Instance.TextUpdate(-unitInfo.unit.buy[buildingLevel]); PlayCtrl.Instance.player.buildings[lineCount].units.Add(unitInfo); } else { if(500 * buildingLevel > PlayCtrl.Instance.money) { Debug.Log("±¸¸Åºñ¿ëÀÌ ºÎÁ·ÇÕ´Ï´Ù"); return; } PlayCtrl.Instance.TextUpdate(-500 * buildingLevel); PlayCtrl.Instance.player.addMoney[lineCount] += 100; } buildingLevel++; } public void DeletBuilding() { if (isProduction) { Debug.Log("»ý»ê°Ç¹°Àº ÆÄ±«ÇÒ ¼ö ¾ø½À´Ï´Ù."); return; } int sell = 0; for(int n = 0; n < buildingLevel; n++) { sell += unitInfo.unit.buy[n]; } sell /= 3; PlayCtrl.Instance.TextUpdate(sell); unitInfo = null; img.sprite = null; img.color = Color.clear; buildingLevel = 0; } public void NewBuilding(UnitCtrl unitInfo, Sprite unitImg ) { this.unitInfo = unitInfo; img.sprite = unitImg; img.color = Color.white; LevelUp(); } }