summaryrefslogtreecommitdiff
path: root/Assembly_CSharp/GameManager.cs
diff options
context:
space:
mode:
authorchai <215380520@qq.com>2023-11-26 23:52:30 +0800
committerchai <215380520@qq.com>2023-11-26 23:52:30 +0800
commit626381f061cde0c78564f6336e3131835cf20a5b (patch)
treed9991d6eda6ae5d7649ac91ecaa3b4dc833cd4c3 /Assembly_CSharp/GameManager.cs
parent0e63c4a2c6dec8dfa260501fb7d73750261ea7b7 (diff)
* move
Diffstat (limited to 'Assembly_CSharp/GameManager.cs')
-rw-r--r--Assembly_CSharp/GameManager.cs476
1 files changed, 0 insertions, 476 deletions
diff --git a/Assembly_CSharp/GameManager.cs b/Assembly_CSharp/GameManager.cs
deleted file mode 100644
index bfa59e1..0000000
--- a/Assembly_CSharp/GameManager.cs
+++ /dev/null
@@ -1,476 +0,0 @@
-using UnityEngine;
-using UnityEngine.UI;
-
-public class GameManager : MonoBehaviour
-{
- [SerializeField]
- private TileManager tileManager;
-
- [SerializeField]
- private SpawnManager spawnManager;
-
- public int gameMode = 3;
-
- [SerializeField]
- private TerrainTile singleStartTile;
-
- [SerializeField]
- private Waypoint[] singleStartWaypoints;
-
- [SerializeField]
- private TerrainTile doubleStartTile;
-
- [SerializeField]
- private Waypoint[] doubleStartWaypoints;
-
- [SerializeField]
- private TerrainTile tripleStartTile;
-
- [SerializeField]
- private Waypoint[] tripleStartWaypoints;
-
- public bool gameOver;
-
- public int health;
-
- public int maxHealth;
-
- private float healthLoss;
-
- [SerializeField]
- private Text healthText;
-
- [SerializeField]
- private Image maskBar;
-
- [SerializeField]
- private Image healthBar;
-
- [SerializeField]
- private Image healthLossBar;
-
- [SerializeField]
- private GameObject gameOverMenu;
-
- [SerializeField]
- private Text levelsCompletedText;
-
- [SerializeField]
- private Text xpGainText;
-
- [SerializeField]
- private Text newRecordText;
-
- [SerializeField]
- private GameObject victoryScreen;
-
- [SerializeField]
- private Text vicLevelsText;
-
- [SerializeField]
- private Text vicLevelXpText;
-
- [SerializeField]
- private Text vicXpBonusText;
-
- [SerializeField]
- private Text vicNewRecordText;
-
- public Vector3 dotTick = 24f * Vector3.one;
-
- public int hauntedHouseEfficiency = 1;
-
- public int universityBonus;
-
- public static GameManager instance;
-
- private void Awake()
- {
- instance = this;
- gameMode = PlayerPrefs.GetInt("GameMode", 1);
- if (gameMode == 1)
- {
- singleStartTile.transform.Rotate(0f, 90 * Random.Range(-1, 3), 0f);
- singleStartTile.SetCardinalDirections();
- tileManager.startTile = singleStartTile;
- spawnManager.initialSpawns = singleStartWaypoints;
- doubleStartTile.gameObject.SetActive(value: false);
- tripleStartTile.gameObject.SetActive(value: false);
- }
- else if (gameMode == 2)
- {
- doubleStartTile.transform.Rotate(0f, 90 * Random.Range(-1, 3), 0f);
- doubleStartTile.SetCardinalDirections();
- tileManager.startTile = doubleStartTile;
- spawnManager.initialSpawns = doubleStartWaypoints;
- singleStartTile.gameObject.SetActive(value: false);
- tripleStartTile.gameObject.SetActive(value: false);
- }
- else if (gameMode == 3)
- {
- tripleStartTile.transform.Rotate(0f, 90 * Random.Range(-1, 3), 0f);
- tripleStartTile.SetCardinalDirections();
- tileManager.startTile = tripleStartTile;
- spawnManager.initialSpawns = tripleStartWaypoints;
- doubleStartTile.gameObject.SetActive(value: false);
- singleStartTile.gameObject.SetActive(value: false);
- }
-
- }
-
- private void Start()
- {
- maxHealth = 100 + 10 * (PlayerPrefs.GetInt("TowerHealth1", 0) + PlayerPrefs.GetInt("TowerHealth2", 0) + PlayerPrefs.GetInt("TowerHealth3", 0) + PlayerPrefs.GetInt("TowerHealth4", 0) + PlayerPrefs.GetInt("TowerHealth5", 0) + PlayerPrefs.GetInt("TowerHealth6", 0) + PlayerPrefs.GetInt("TowerHealth7", 0) + PlayerPrefs.GetInt("TowerHealth8", 0) + PlayerPrefs.GetInt("TowerHealth9", 0) + PlayerPrefs.GetInt("TowerHealth10", 0));
- health = maxHealth;
- healthLoss = maxHealth;
- SetHealthBar();
- int num = 0;
- num = PlayerPrefs.GetInt("BalistaPHealth", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusHealthDamage(TowerType.Crossbow, num);
- }
- num = PlayerPrefs.GetInt("BalistaPArmor", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusArmorDamage(TowerType.Crossbow, num);
- }
- num = PlayerPrefs.GetInt("BalistaPShield", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusShieldDamage(TowerType.Crossbow, num);
- }
- num = PlayerPrefs.GetInt("MortarPHealth", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusHealthDamage(TowerType.Morter, num);
- }
- num = PlayerPrefs.GetInt("MortarPArmor", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusArmorDamage(TowerType.Morter, num);
- }
- num = PlayerPrefs.GetInt("MortarPShield", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusShieldDamage(TowerType.Morter, num);
- }
- num = PlayerPrefs.GetInt("TeslaPHealth", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusHealthDamage(TowerType.TeslaCoil, num);
- }
- num = PlayerPrefs.GetInt("TeslaPArmor", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusArmorDamage(TowerType.TeslaCoil, num);
- }
- num = PlayerPrefs.GetInt("TeslaPShield", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusShieldDamage(TowerType.TeslaCoil, num);
- }
- num = PlayerPrefs.GetInt("FrostPHealth", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusHealthDamage(TowerType.Frost, num);
- }
- num = PlayerPrefs.GetInt("FrostPArmor", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusArmorDamage(TowerType.Frost, num);
- }
- num = PlayerPrefs.GetInt("FrostPShield", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusShieldDamage(TowerType.Frost, num);
- }
- num = PlayerPrefs.GetInt("FlamePHealth", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusHealthDamage(TowerType.FlameThrower, num);
- }
- num = PlayerPrefs.GetInt("FlamePArmor", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusArmorDamage(TowerType.FlameThrower, num);
- }
- num = PlayerPrefs.GetInt("FlamePShield", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusShieldDamage(TowerType.FlameThrower, num);
- }
- num = PlayerPrefs.GetInt("PoisonPHealth", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusHealthDamage(TowerType.PoisonSprayer, num);
- }
- num = PlayerPrefs.GetInt("PoisonPArmor", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusArmorDamage(TowerType.PoisonSprayer, num);
- }
- num = PlayerPrefs.GetInt("PoisonPShield", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusShieldDamage(TowerType.PoisonSprayer, num);
- }
- num = PlayerPrefs.GetInt("ShredderPHealth", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusHealthDamage(TowerType.Shredder, num);
- }
- num = PlayerPrefs.GetInt("ShredderPArmor", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusArmorDamage(TowerType.Shredder, num);
- }
- num = PlayerPrefs.GetInt("ShredderPShield", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusShieldDamage(TowerType.Shredder, num);
- }
- num = PlayerPrefs.GetInt("EncampmentPHealth", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusHealthDamage(TowerType.Encampment, num);
- }
- num = PlayerPrefs.GetInt("EncampmentPArmor", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusArmorDamage(TowerType.Encampment, num);
- }
- num = PlayerPrefs.GetInt("EncampmentPShield", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusShieldDamage(TowerType.Encampment, num);
- }
- num = PlayerPrefs.GetInt("LookoutPHealth", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusHealthDamage(TowerType.Lookout, num);
- }
- num = PlayerPrefs.GetInt("LookoutPArmor", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusArmorDamage(TowerType.Lookout, num);
- }
- num = PlayerPrefs.GetInt("LookoutPShield", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusShieldDamage(TowerType.Lookout, num);
- }
- num = PlayerPrefs.GetInt("RadarPHealth", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusHealthDamage(TowerType.Radar, num);
- }
- num = PlayerPrefs.GetInt("RadarPArmor", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusArmorDamage(TowerType.Radar, num);
- }
- num = PlayerPrefs.GetInt("RadarPShield", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusShieldDamage(TowerType.Radar, num);
- }
- num = PlayerPrefs.GetInt("ObeliskPHealth", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusHealthDamage(TowerType.Obelisk, num);
- }
- num = PlayerPrefs.GetInt("ObeliskPArmor", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusArmorDamage(TowerType.Obelisk, num);
- }
- num = PlayerPrefs.GetInt("ObeliskPShield", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusShieldDamage(TowerType.Obelisk, num);
- }
- num = PlayerPrefs.GetInt("ParticleCannonPHealth", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusHealthDamage(TowerType.ParticleCannon, num);
- }
- num = PlayerPrefs.GetInt("ParticleCannonPArmor", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusArmorDamage(TowerType.ParticleCannon, num);
- }
- num = PlayerPrefs.GetInt("ParticleCannonPShield", 0);
- if (num > 0)
- {
- TowerManager.instance.AddBonusShieldDamage(TowerType.ParticleCannon, num);
- }
- }
-
- private void Update()
- {
- if (healthLoss > (float)health)
- {
- healthLoss = Mathf.Clamp(healthLoss - 4f * Time.deltaTime, health, healthLoss);
- healthLossBar.rectTransform.sizeDelta = new Vector2(healthLoss / 10f, 0.25f);
- }
- }
-
- public void IncreaseTowerHealth(int amt)
- {
- maxHealth += amt * 10;
- health += amt * 10;
- healthLoss = health;
- SetHealthBar();
- if (maxHealth / 10 >= 50)
- {
- AchievementManager.instance.UnlockAchievement("TowerHealth50");
- }
- else if (maxHealth / 10 >= 40)
- {
- AchievementManager.instance.UnlockAchievement("TowerHealth40");
- }
- else if (maxHealth / 10 >= 30)
- {
- AchievementManager.instance.UnlockAchievement("TowerHealth30");
- }
- }
-
- private void SetHealthBar()
- {
- maskBar.rectTransform.localScale = new Vector3(2000 / maxHealth, 50f, 10f);
- maskBar.rectTransform.sizeDelta = new Vector2((float)maxHealth / 10f, 0.25f);
- healthLossBar.rectTransform.sizeDelta = new Vector2((float)health / 10f, 0.25f);
- UpdateHealthText();
- }
-
- private void UpdateHealthText()
- {
- healthText.text = "Tower: " + health / 10 + "/" + maxHealth / 10;
- healthBar.rectTransform.sizeDelta = new Vector2((float)health / 10f, 0.25f);
- }
-
- public void TakeDamage(int damage)
- {
- health = Mathf.Max(health - 10 * damage, 0);
- UpdateHealthText();
- if (health <= 0 && !gameOver)
- {
- gameOver = true;
- GameOver();
- }
- }
-
- public void RepairTower(int heal)
- {
- health = Mathf.Clamp(health + heal, 0, maxHealth);
- if (healthLoss < (float)health)
- {
- healthLoss = health;
- }
- UpdateHealthText();
- }
-
- public void GameOverQuit()
- {
- if (!SpawnManager.instance.combat)
- {
- SpawnManager.instance.level++;
- }
- if (Time.timeScale != 1f)
- {
- Time.timeScale = 1f;
- }
- gameOver = true;
- GameOver();
- }
-
- public int NaturalSum(int value)
- {
- return value * (value + 1) / 2;
- }
-
- private void GameOver()
- {
- gameOverMenu.SetActive(value: true);
- DamageTracker.instance.DisplayDamageTotals();
- int num = NaturalSum(SpawnManager.instance.level - 1) * gameMode;
- int num2 = 0;
- int @int = PlayerPrefs.GetInt("Record" + gameMode, 0);
- if (SpawnManager.instance.level - 1 - @int > 0)
- {
- num2 = (NaturalSum(SpawnManager.instance.level - 1) - NaturalSum(@int)) * 3;
- PlayerPrefs.SetInt("Record" + gameMode, SpawnManager.instance.level - 1);
- string text = "";
- if (gameMode == 1)
- {
- text = "single";
- }
- else if (gameMode == 2)
- {
- text = "double";
- }
- else if (gameMode == 3)
- {
- text = "triple";
- }
- newRecordText.text = "New " + text + " defense record!\n +" + num2 + " bonus xp";
- }
- else
- {
- newRecordText.text = "";
- }
- int int2 = PlayerPrefs.GetInt("XP", 0);
- PlayerPrefs.SetInt("XP", int2 + num2);
- levelsCompletedText.text = "Defended " + (SpawnManager.instance.level - 1) + " levels";
- xpGainText.text = "+" + num + " xp";
- }
-
- public void Victory()
- {
- AchievementManager.instance.CheckTowerTypesVictory();
- victoryScreen.SetActive(value: true);
- DamageTracker.instance.DisplayDamageTotals();
- int num = NaturalSum(SpawnManager.instance.level - 1) * gameMode;
- int num2 = SpawnManager.instance.lastLevel * gameMode * 10;
- int num3 = 0;
- int @int = PlayerPrefs.GetInt("Record" + gameMode, 0);
- if (SpawnManager.instance.lastLevel - @int > 0)
- {
- num3 = (NaturalSum(SpawnManager.instance.level - 1) - NaturalSum(@int)) * 3;
- PlayerPrefs.SetInt("Record" + gameMode, SpawnManager.instance.lastLevel);
- string text = "";
- if (gameMode == 1)
- {
- text = "single";
- }
- else if (gameMode == 2)
- {
- text = "double";
- }
- else if (gameMode == 3)
- {
- text = "triple";
- }
- vicNewRecordText.text = "New " + text + " defense record!\n +" + num3 + " bonus xp";
- }
- else
- {
- vicNewRecordText.text = "";
- }
- int int2 = PlayerPrefs.GetInt("XP", 0);
- PlayerPrefs.SetInt("XP", int2 + num3 + num2);
- vicLevelsText.text = "Defended all " + SpawnManager.instance.lastLevel + " levels";
- vicLevelXpText.text = "+" + num + " xp";
- vicXpBonusText.text = "+" + num2 + " xp";
- }
-
- public void LoadScene(string sceneName)
- {
- if (AchievementManager.instance != null)
- {
- AchievementManager.instance.OnSceneClose();
- }
- LevelLoader.instance.LoadLevel(sceneName);
- }
-}