using UnityEngine;
using UnityEngine.UI;

public class UniversityUI : MonoBehaviour
{
	private University myUniversity;

	[SerializeField]
	private Text healthCostText;

	[SerializeField]
	private Text armorCostText;

	[SerializeField]
	private Text shieldCostText;

	[SerializeField]
	private Text healthDiscoveresText;

	[SerializeField]
	private Text armorDiscoveriesText;

	[SerializeField]
	private Text shieldDiscoveriesText;

	[SerializeField]
	private Text healthBonusText;

	[SerializeField]
	private Text armorBonusText;

	[SerializeField]
	private Text shieldBonusText;

	[SerializeField]
	private Text healthPercentageText;

	[SerializeField]
	private Text armorPercentageText;

	[SerializeField]
	private Text shieldPercentageText;

	[SerializeField]
	private Image healthPercentageImg;

	[SerializeField]
	private Image armorPercentageImg;

	[SerializeField]
	private Image shieldPercentageImg;

	[SerializeField]
	private Text demolishText;

	private void Start()
	{
		UIManager.instance.SetNewUI(base.gameObject);
		if (demolishText != null)
		{
			demolishText.text = "Demolish (" + myUniversity.goldBackOnDemolish + "g)";
		}
	}

	public void SetStats(University myUni)
	{
		myUniversity = myUni;
		int num = (myUniversity.healthPercent + myUniversity.armorPercent + myUniversity.shieldPercent + 1) * 20;
		healthCostText.text = num.ToString();
		armorCostText.text = num.ToString();
		shieldCostText.text = num.ToString();
		healthDiscoveresText.text = "Health Studies: " + myUniversity.healthGained;
		armorDiscoveriesText.text = "Armor Studies: " + myUniversity.armorGained;
		shieldDiscoveriesText.text = "Magic Studies: " + myUniversity.shieldGained;
		healthBonusText.text = "Global Health Damage: +" + myUniversity.healthGained;
		armorBonusText.text = "Global Armor Damage: +" + myUniversity.armorGained;
		shieldBonusText.text = "Global Shield Damage: +" + myUniversity.shieldGained;
		healthPercentageText.text = "Health Studies: " + (myUniversity.healthPercent + GameManager.instance.universityBonus) + "%";
		armorPercentageText.text = "Armor Studies: " + (myUniversity.armorPercent + GameManager.instance.universityBonus) + "%";
		shieldPercentageText.text = "Magic Studies: " + (myUniversity.shieldPercent + GameManager.instance.universityBonus) + "%";
		healthPercentageImg.rectTransform.sizeDelta = new Vector2((float)(myUniversity.healthPercent + GameManager.instance.universityBonus) / 10f, 0.25f);
		armorPercentageImg.rectTransform.sizeDelta = new Vector2((float)(myUniversity.armorPercent + GameManager.instance.universityBonus) / 10f, 0.25f);
		shieldPercentageImg.rectTransform.sizeDelta = new Vector2((float)(myUniversity.shieldPercent + GameManager.instance.universityBonus) / 10f, 0.25f);
		if (demolishText != null)
		{
			demolishText.text = "Demolish (" + myUniversity.goldBackOnDemolish + "g)";
		}
	}

	private void Update()
	{
		if (Input.GetKeyDown(KeyCode.Alpha1) || Input.GetKeyDown(KeyCode.Keypad1))
		{
			FundHealthResearch();
		}
		if (Input.GetKeyDown(KeyCode.Alpha2) || Input.GetKeyDown(KeyCode.Keypad2))
		{
			FundArmorResearch();
		}
		if (Input.GetKeyDown(KeyCode.Alpha3) || Input.GetKeyDown(KeyCode.Keypad3))
		{
			FundShieldResearch();
		}
	}

	public void FundHealthResearch()
	{
		SFXManager.instance.ButtonClick();
		myUniversity.FundHealthStudies();
		SetStats(myUniversity);
	}

	public void FundArmorResearch()
	{
		SFXManager.instance.ButtonClick();
		myUniversity.FundArmorStudies();
		SetStats(myUniversity);
	}

	public void FundShieldResearch()
	{
		SFXManager.instance.ButtonClick();
		myUniversity.FundShieldStudies();
		SetStats(myUniversity);
	}

	public void Demolish()
	{
		SFXManager.instance.ButtonClick();
		myUniversity.Demolish();
		Object.Destroy(myUniversity.gameObject);
		ResourceManager.instance.AddMoney(myUniversity.goldBackOnDemolish);
		UIManager.instance.CloseUI(base.gameObject);
	}
}